package com.pan;
import javafx.application.*;
import javafx.beans.value.*;
import javafx.event.*;
import javafx.scene.*;
import javafx.scene.control.*;
import javafx.stage.*;
public class Main extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
Group root = new Group();
Scene scene = new Scene(root);
primaryStage.setScene(scene);
primaryStage.setWidth(800);
primaryStage.setHeight(600);
primaryStage.setTitle("JavaFX");
TextField text = new TextField();
text.setLayoutX(50);
Tooltip tip = new Tooltip("这是提示");
text.setTooltip(tip);
text.setPromptText("请输入7个字以下");
text.setFocusTraversable(false);
text.textProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(ObservableValue<? extends String> arg0, String arg1, String arg2) {
if(arg2.length() > 7) {
text.setText(arg2);
}
}
});
text.selectedTextProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(ObservableValue<? extends String> arg0, String arg1, String arg2) {
System.out.println(arg2);
}
});
text.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent arg0) {
System.out.println("你按enter键确认了文本框的输入");
}
});
text.setOnMouseClicked(new EventHandler<Event>() {
@Override
public void handle(Event arg0) {
System.out.println("你单击了一下文本框");
}
});
PasswordField ptext = new PasswordField();
ptext.setLayoutY(40);
ptext.setLayoutX(50);
ptext.setPromptText("最多15位");
ptext.setFocusTraversable(false);
ptext.textProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(ObservableValue<? extends String> arg0, String arg1, String arg2) {
if(arg2.length() > 15) {
ptext.setText(arg1);
}
}
});
Label l1 = new Label("文本框");
Label l2 = new Label("密码框");
l1.setLayoutY(5);
l2.setLayoutY(45);
l1.setOnMouseClicked(new EventHandler<Event>() {
@Override
public void handle(Event arg0) {
System.out.println("你单机了文本框标签一下");
}
});
l2.setOnMouseClicked(new EventHandler<Event>() {
@Override
public void handle(Event arg0) {
System.out.println("你单机了密码框标签一下");
}
});
root.getChildren().addAll(text,ptext,l1,l2);
primaryStage.show();
}
}