1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
package application;
import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.control.ComboBox;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.BorderPane;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
try {
TextField monTextField = new TextField();
monTextField.setId("quelEstLeNomDeCeTextField");
ComboBox MonCombo = new ComboBox();
MonCombo.setId("quelEstLeNomDeCeCombo");
ObservableList<String> data = FXCollections.observableArrayList();
data.addAll("toto","titi");
MonCombo.setItems(data);
ChangeListener changedField = new ChangeListener (){
@Override
public void changed(ObservableValue o, Object oldVal, Object newVal){
System.out.println(o.toString());
//me retourne quand je clique le combo:
//ObjectProperty [bean: ComboBox[id=quelEstLeNomDeCeCombo, styleClass=combo-box-base combo-box], name: value, value: toto]
//et quand je tape un caractère dans le textBox
//StringProperty [bean: TextField[id=quelEstLeNomDeCeTextField, styleClass=text-input text-field], name: text, value: a]
//en debug je trouve le nom dans o.this.id.value
}
};
MonCombo.setLayoutY(20);
monTextField.textProperty().addListener(changedField);
MonCombo.valueProperty().addListener(changedField);
AnchorPane root = new AnchorPane();
root.getChildren().addAll(monTextField, MonCombo);
Scene scene = new Scene(root,400,400);
scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
launch(args);
}
} |
Partager