输入框:TextField
package fx.com;
import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.PasswordField;
import javafx.scene.control.TextField;
import javafx.scene.control.Tooltip;
import javafx.scene.input.MouseEvent;
import javafx.scene.text.Font;
import javafx.stage.Stage;
public class Mian2 extends Application {
public static void main(String[] args) {
// TODO 自动生成的方法存根
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
// TODO 自动生成的方法存根
Group group=new Group();
Scene scene=new Scene(group);
primaryStage.setTitle("实例:密码,账号,输入框");
primaryStage.setWidth(400);
primaryStage.setHeight(300);
primaryStage.setScene(scene);
/*输入框*/
TextField text=new TextField();
// text.setText("这是文本");
text.setLayoutX(10);
text.setLayoutY(10);
Tooltip tip=new Tooltip("这是在中输入提示");
tip.setFont(Font.font(10));//提示字体大小
text.setTooltip(tip);//提示加载在输入框
text.setPromptText("输入弹出提示");
text.setFocusTraversable(false);//去除焦点
/*输入监听*/
text.textProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
// TODO 自动生成的方法存根
System.out.println("你在输入:"+newValue);
if(newValue.length()>7) {
tip.setText("输入不能超过7个");
text.setText(oldValue.toString());
}
}
});
/*选着监听*/
text.selectedTextProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
// TODO 自动生成的方法存根
System.out.println("你选着了:"+newValue);
}
});
// text.setFont(Font.font(14));//字体大小
// text.setStyle("");//添加java_css
/*密码框*/
PasswordField pwtext=new PasswordField();
//提示文字等方法 和上面输入框方法> 如下实现
pwtext.setPromptText("密码输入");
pwtext.setLayoutX(10);
pwtext.setLayoutY(40);
pwtext.setFocusTraversable(false);
/*输入框单击事件*/
text.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
// TODO 自动生成的方法存根
System.out.println("输入框单击事件");
}
});
/*标签*/
Label label=new Label();
label.setLayoutX(10);
label.setLayoutY(70);
label.setText("我是标签");
/*标签单击事件 和输入框一样 如何过滤鼠标的单击按钮?查看Button笔记 里面的event过滤 链接:https://blog.csdn.net/qq_33131171/article/details/119697319*/
// label.setOnMouseClicked(new Ev);
group.getChildren().add(label);
group.getChildren().add(pwtext);
group.getChildren().add(text);
primaryStage.show();
}
}