import javafx.application.Application;
import javafx.beans.value.ObservableValue;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.ComboBox;
import javafx.scene.control.Label;
import javafx.scene.control.ListView;
import javafx.scene.control.TitledPane;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;
public class ComboBoxAndTitlepaneTest extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
ObservableList<String> options = FXCollections.observableArrayList();
options.add("A");
options.add("B");
options.add("C");
ComboBox<String> comboBox = new ComboBox<>();
comboBox.setItems(options);
comboBox.setTranslateX(10);
comboBox.setTranslateY(20);
comboBox.getSelectionModel().selectedItemProperty().addListener((ObservableValue<? extends String> arg0, String arg1, String arg2) -> {
if (arg2 != null) {
System.out.println("ComboBox选项:" + arg2);
}
});
TitledPane titledPane = new TitledPane();
titledPane.setTranslateX(100);
titledPane.setTranslateY(20);
titledPane.setPrefWidth(220);
titledPane.setText("TitledPane");
titledPane.setExpanded(true);
ListView<Label> listView = new ListView<>();
titledPane.setContent(listView);
listView.getItems().add(new Label("A"));
listView.getItems().add(new Label("B"));
listView.getItems().add(new Label("C"));
listView.setFixedCellSize(22);
listView.setPrefHeight(listView.getFixedCellSize() * listView.getItems().size());
listView.addEventHandler(MouseEvent.MOUSE_CLICKED, e -> {
if (e.getClickCount() == 2) {
System.out.println("ListView双击选项:" + listView.getSelectionModel().getSelectedItem().getText());
}
if (e.getClickCount() == 1) {
System.out.println("ListView单击选项:" + listView.getSelectionModel().getSelectedItem().getText());
}
});
Pane pane = new Pane();
pane.setPrefWidth(800);
pane.setPrefHeight(400);
pane.getChildren().addAll(comboBox, titledPane);
primaryStage.setScene(new Scene(pane));
primaryStage.show();
}
}
JavaFX ComboBox和Titlepane
最新推荐文章于 2025-03-02 08:09:23 发布