Ceci est la classe principale pour créer l'interface utilisateur:Comment effectuer plusieurs actions pour un bouton en fonction de la sélection ComboBox dans JavaFX
public class Test extends Application {
@Override
public void start(Stage primaryStage) {
FlowPane mainPane = new FlowPane();
FlowPane query = new FlowPane();
query.setPadding(new Insets(30,30,30,30));
query.setHgap(10);
query.setVgap(20);
ComboBox<String> queryDropDown = new ComboBox<>();
queryDropDown.getItems().addAll("Gene", "Disease");
queryDropDown.setValue("Select One");
System.out.println(queryDropDown.getValue());
query.getChildren().addAll(new Label("Select Category: "), queryDropDown);
FlowPane userInput = new FlowPane();
userInput.setPadding(new Insets(30,30,30,30));
userInput.setHgap(10);
userInput.setVgap(20);
TextField searchField = new TextField();
searchField.setPrefColumnCount(3);
userInput.getChildren().addAll(new Label("Enter Query: "), new TextField());
FlowPane searchButtonPane = new FlowPane();
searchButtonPane.setPadding(new Insets(30,30,30,200));
searchButtonPane.setHgap(50);
searchButtonPane.setVgap(50);
Button searchButton = new Button("Search");
searchButtonPane.getChildren().addAll(searchButton);
ButtonHandlerClass handler1 = new ButtonHandlerClass();
searchButton.setOnAction(handler1);
mainPane.getChildren().addAll(query, userInput, searchButtonPane);
Scene scene = new Scene(mainPane, 300, 250);
primaryStage.setTitle("Genetic Database");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
// Prints "Hello, World" to the terminal window.
System.out.println("Hello, World");
Application.launch(args);
}
}
C'est le gestionnaire de bouton classe
public class ButtonHandlerClass implements EventHandler<ActionEvent> {
@Override
public void handle(ActionEvent e) {
System.out.println("Button Clicked");
}
}
Je veux pour pouvoir avoir le même bouton "search" effectuer une action différente en fonction de l'option choisie par l'utilisateur dans la combo. J'ai essayé de faire quelque chose de similaire au ButtonHandlerClass pour la zone de liste déroulante. Tout avis sera le bienvenu.
Merci!
Vous voulez créer à 100% le 'ButtonHandlerClass' ou vous êtes ouvert à d'autres solutions? – GOXR3PLUS
Je suis novice en matière de programmation. Par conséquent, toute solution de rechange qui, selon vous, fonctionnerait mieux serait géniale à apprendre! – NSar
Généralement, avant 'JavaFX' dans' Swing Library', il était très courant d'utiliser une classe externe qui implémente 'MouseAdapter'. – GOXR3PLUS