就是想知道一个TextField获得焦点,和失去焦点的事件……(就像Swing的JTextField.addFocusListener)
找了半天没找到…… 郁闷中……(如果真的没有…… JavaFX就好悲催啊……)
有没有什么好的替代方法?
大虾们,不吝赐教啊……
10 个解决方案
#1
同求,请大神指教
#2
public class TextFieldDemo extends Application{
public void init(Stage primaryStage){
Group root = new Group();
primaryStage.setScene(new Scene(root,400,200));
final TextField textField = new TextField();
textField.hoverProperty().addListener(new InvalidationListener() {
@Override
public void invalidated(Observable observable) {
if(textField.isHover()){
textField.setText("textField listener added");
}else{
textField.setText("textField listener remove");
}
}
});
root.getChildren().add(textField);
}
/* (non-Javadoc)
* @see javafx.application.Application#start(javafx.stage.Stage)
*/
@Override
public void start(Stage arg0) throws Exception {
init(arg0);
arg0.show();
}
public static void main(String[] args) {
launch(args);
}
}
public void init(Stage primaryStage){
Group root = new Group();
primaryStage.setScene(new Scene(root,400,200));
final TextField textField = new TextField();
textField.hoverProperty().addListener(new InvalidationListener() {
@Override
public void invalidated(Observable observable) {
if(textField.isHover()){
textField.setText("textField listener added");
}else{
textField.setText("textField listener remove");
}
}
});
root.getChildren().add(textField);
}
/* (non-Javadoc)
* @see javafx.application.Application#start(javafx.stage.Stage)
*/
@Override
public void start(Stage arg0) throws Exception {
init(arg0);
arg0.show();
}
public static void main(String[] args) {
launch(args);
}
}
#3
哎呀,javaFX2.X 是很强大的 只是才刚刚出来 需要自己去摸索,不想学javaSe 有前辈指点,我也才开始学JavaFX 我现在 在netbeans 7.3 可视化设计插件都没找到,楼主是用什么可视化设计的?
#4
你直接去oracle官网上下载一个JavaFX Scene Builder 1.0 免费的
#5
结贴晚了。呵呵。
#6
找到方法了。
TextField.getFocusProperty().addChangeListener();
好像是上面这样写的,没有IDE的提示,已经不会写代码了……
TextField.getFocusProperty().addChangeListener();
好像是上面这样写的,没有IDE的提示,已经不会写代码了……
#7
有没有什么办法让控件始终无法获取焦点?
#8
知道了,setFocusTraversable,和swing差不多
#9
怎样可以不通过鼠标点击的方式让某个组件获取焦点,比如按enter将焦点转移到下一个组件上?
#10
tfIp.focusedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> arg0,Boolean arg1, Boolean arg2) {
// TODO Auto-generated method stub
}
});
@Override
public void changed(ObservableValue<? extends Boolean> arg0,Boolean arg1, Boolean arg2) {
// TODO Auto-generated method stub
}
});
#1
同求,请大神指教
#2
public class TextFieldDemo extends Application{
public void init(Stage primaryStage){
Group root = new Group();
primaryStage.setScene(new Scene(root,400,200));
final TextField textField = new TextField();
textField.hoverProperty().addListener(new InvalidationListener() {
@Override
public void invalidated(Observable observable) {
if(textField.isHover()){
textField.setText("textField listener added");
}else{
textField.setText("textField listener remove");
}
}
});
root.getChildren().add(textField);
}
/* (non-Javadoc)
* @see javafx.application.Application#start(javafx.stage.Stage)
*/
@Override
public void start(Stage arg0) throws Exception {
init(arg0);
arg0.show();
}
public static void main(String[] args) {
launch(args);
}
}
public void init(Stage primaryStage){
Group root = new Group();
primaryStage.setScene(new Scene(root,400,200));
final TextField textField = new TextField();
textField.hoverProperty().addListener(new InvalidationListener() {
@Override
public void invalidated(Observable observable) {
if(textField.isHover()){
textField.setText("textField listener added");
}else{
textField.setText("textField listener remove");
}
}
});
root.getChildren().add(textField);
}
/* (non-Javadoc)
* @see javafx.application.Application#start(javafx.stage.Stage)
*/
@Override
public void start(Stage arg0) throws Exception {
init(arg0);
arg0.show();
}
public static void main(String[] args) {
launch(args);
}
}
#3
哎呀,javaFX2.X 是很强大的 只是才刚刚出来 需要自己去摸索,不想学javaSe 有前辈指点,我也才开始学JavaFX 我现在 在netbeans 7.3 可视化设计插件都没找到,楼主是用什么可视化设计的?
#4
你直接去oracle官网上下载一个JavaFX Scene Builder 1.0 免费的
#5
结贴晚了。呵呵。
#6
找到方法了。
TextField.getFocusProperty().addChangeListener();
好像是上面这样写的,没有IDE的提示,已经不会写代码了……
TextField.getFocusProperty().addChangeListener();
好像是上面这样写的,没有IDE的提示,已经不会写代码了……
#7
有没有什么办法让控件始终无法获取焦点?
#8
知道了,setFocusTraversable,和swing差不多
#9
怎样可以不通过鼠标点击的方式让某个组件获取焦点,比如按enter将焦点转移到下一个组件上?
#10
tfIp.focusedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> arg0,Boolean arg1, Boolean arg2) {
// TODO Auto-generated method stub
}
});
@Override
public void changed(ObservableValue<? extends Boolean> arg0,Boolean arg1, Boolean arg2) {
// TODO Auto-generated method stub
}
});