【问题标题】:JavaFX: Tooltip - Can't get tooltip's to show at allJavaFX:工具提示 - 根本无法显示工具提示
【发布时间】:2012-03-20 14:13:34
【问题描述】:

我正在进行一个项目,我应该使用 JavaFX 2.0 编写登录系统。 现在我正在尝试编写一个与密码字段连接的工具提示,但工具提示根本不显示。我正在使用“javafx-samples-2.0.3”中的 FXML-LoginDemo 项目。然后我尝试使用:http://docs.oracle.com/javafx/2.0/ui_controls/tooltip.htm#BABHCHGG example 19.1.

如果您需要更多代码来查看此问题,请说出来.. 因为我真的不知道问题出在哪里..

到目前为止,这是我的代码:

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("");
    }
}

【问题讨论】:

    标签: tooltip javafx


    【解决方案1】:

    在控制器上定义initialize method,并在该方法中设置工具提示文本并将工具提示与密码字段相关联。如果等到调用 processLogin 动作设置 Tooltip,场景已经显示,用户已经尝试登录。

    此外,除非您在 FXML 中定义 Tooltip 属性,否则您不需要将 @FXML 注释放在 Tooltip 前面,这在这种情况下可能没有必要。

    【讨论】:

    • 谢谢,你说得对,关于@FXML 注释也是如此。
    猜你喜欢
    • 1970-01-01
    • 2022-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-17
    • 2012-11-21
    • 1970-01-01
    相关资源
    最近更新 更多