JavaFX:工具提示 - 无法显示工具提示
问题描述:
我正在使用JavaFX 2.0编写登录系统的项目中。 而现在我试图写一个连接到密码字段的工具提示,但工具提示从不显示..我使用'javafx-samples-2.0.3'中的FXML-LoginDemo项目。然后我试着用:http://docs.oracle.com/javafx/2.0/ui_controls/tooltip.htm#BABHCHGG例19.1。JavaFX:工具提示 - 无法显示工具提示
如果您需要更多的代码,看看这个问题请说出来..因为我真的不知道是哪里的问题..
这里是我到目前为止的代码:
package demo;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.PasswordField;
import javafx.scene.control.TextField;
import javafx.scene.control.Label;
import javafx.scene.control.Tooltip;
/**
* Login Controller.
*/
public class LoginController {
@FXML private TextField userId;
@FXML private PasswordField password;
@FXML private Label errorMessage;
@FXML final Tooltip tooltip = new Tooltip();
@FXML protected void processLogin(ActionEvent event) {
tooltip.setText("\nYour password must be\n at least 8 characters in length\n");
password.setTooltip(tooltip);
if(!App.getInstance().userLogging(userId.getText(), password.getText())){
errorMessage.setText("Invalid username or password: " + userId.getText());
}
//Replaces inputed password with an empty String.
password.setText("");
}
}
答
的定义initialize method,并在该方法中设置工具提示文本并将工具提示与密码字段相关联。如果您等待processLogin操作被调用以设置工具提示,那么场景已经显示并且用户已经尝试登录。
另外,您不需要将@FXML注释放在工具提示前面,除非您在FXML中定义了Tooltip属性,在这种情况下可能不需要。
谢谢,你是正确的,也关于@FXML注释。 – haakonlu 2012-03-21 16:44:59