如何在 JavaFx 中向标签添加 actionListener

2024-04-12

我正在尝试将 ActionListener 添加到标签中,每当用户输入错误的密码或登录时就会弹出该标签。 这是我的登录控制器

public class LoginController implements Initializable {

@FXML
private Label label;
@FXML
private TextField LoginField;
@FXML
private PasswordField PasswdField;
@FXML
private Button LogInButton;
@FXML
private Label IncorrectDataLabel;
//private String uri = "http://google.com";



@FXML
private void LogIn(ActionEvent event) throws IOException {
    if(LoginField.getText().equals("MKARK")&&PasswdField.getText().equals("KACZOR1"))
    {

        Parent parent = FXMLLoader.load(getClass().getResource("/fxmlFiles/MainScreen.fxml"));
        Scene MainScene = new Scene(parent);
        Stage stage = (Stage) ((Node) event.getSource()).getScene().getWindow();
        stage.setScene(MainScene);
        stage.show();


    }
    else
    {
        IncorrectDataLabel.setVisible(true);
        // <------------------- Here I want to bind hyperlink to a label with would open the google site, whenever user clicks it.
}




@Override
public void initialize(URL url, ResourceBundle rb) {
    // TODO
}

我怎样才能解决这个问题?我已经尝试了很多次(setOnAction、addMouseListener)但没有任何效果:(。

如果您不介意,我还会询问 public void 初始化函数。它是做什么用的?当我创建课程时它会自动弹出。

提前致谢


标签不会触发操作事件。您可以使用鼠标单击事件的侦听器,例如:

@FXML
private void gotoGoogle() {
    // open url etc
}

并在 FXML 文件中

<Label fx:id="IncorrectDataLabel" onMouseClicked="#gotoGoogle" ... />

然而,使用Hyperlink http://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/Hyperlink.html为此,这将为用户提供更好的视觉反馈,让他们知道这是他们应该点击的东西。只需将标签替换为

<Hyperlink fx:id="IncorrectDataLabel" onAction="#gotoGoogle" text="..." ... />

并相应地更新控制器中的类型:

@FXML
private Hyperlink IncorrectDataLabel ;

您需要适当的导入javafx.control.Hyperlink在 FXML 文件和控制器中。

题外话:使用正确的 Java 命名约定 https://en.wikipedia.org/wiki/Naming_convention_(programming)#Java为您的变量和方法名称。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 JavaFx 中向标签添加 actionListener 的相关文章

  • 条件绑定

    我是 JavaFx 新手 我正在创建一个应用程序 用户必须填写一些表单 并且我想使用绑定 预先验证 它们 简单的事情 比如所有元素都不能为空 或者其中一些元素只能包含数字 这是我到目前为止所拥有的 saveBtn disableProper
  • 使用 .load() 用图像填充 div 以方便使用 slider1.7

    所以我试图用外部 html 文件中的图像填充幻灯片 div 但问题似乎是新图像确实可以通过 load 拉取 但简单的滑块无法看到新图像 甚至只显示空白尽管在 div 中 有新的图像链接 在我的 html 中 我有这个
  • 如何使下拉菜单中的每个选项成为与 simple_form 调用关联的链接?

    我使用 simple form 插件有这个表单
  • JavaFX 中的隐形舞台/场景

    我正在寻找一种隐藏 JavaFX 舞台或场景的方法 现在我知道了 hide 但这行不通 我需要一些仍然保留窗口的东西 但只是使其完全透明 一个很好的比喻是display none and visibility hidden在CSS中 第一个
  • 如何将JavaFX嵌入到eclipse rcp视图中

    我正在尝试从简单的 Eclipse 视图中使用 JavaFX 2 但我得到了一个 java lang UnsatisfiedLinkError 类的 URL 无效 bundleresource 435 fwk1827795025 com s
  • JavaFX Node.lookup() 仅对使用 FXMLLoader 加载的 Parent 中的某些元素返回 null

    我从 FXML 加载了一个父级 将其添加到场景 舞台内的窗格中并显示它 然后立即查找组件 Lookup 对某些返回 null 但对其他返回非 null 什么情况下会这么做 这是加载和查找代码 rootUi FXMLLoader load g
  • JavaFX 中按下按钮的样式

    我有一个Button in my FXML文件 我在下面给它一个样式CSS button fx background color linear gradient ff5400 be1d00 fx background radius 30 f
  • 消息 discord.py 中的可点击链接

    我希望我的机器人将消息发送到聊天中 如下所示 await ctx send This country is not supported you can ask me to add it here 但是为了使 这里 成为可点击的链接 在 HT
  • JavaFX 8 DatePicker 风格

    如何更改JavaFX 8中DatePicker中日历的样式 我查看了 modena 文件中的所有默认样式 但没有找到 DatePicker 的类 有人知道该怎么做吗 例如 将标题颜色更改为蓝色 默认样式如下 您可以找到以下的 cssDate
  • 删除 href 属性

    我正在尝试编写分页代码 一项功能是禁用当前链接 使其看起来像文本并且不可点击 在 html 页面中 这可以通过省略 href 属性来实现 例如 a Link a 我无法用 JavaScript 做到这一点 AvdonPagination p
  • 使用 TextFlow 在 TableView 中突出显示文本

    我读到 从 JavaFX 8 开始 您可以使用 TextFlow 来突出显示文本 但我不知道如何将它用于我的 TableView 在我的控制器类中 我有这个 TableView
  • 将两个表视图绑定在一起,以便它们同步滚动

    我想将两个表视图绑定在一起 以便它们同步滚动 我怎么做 我无法找到如何访问表格视图的滚动条 我做了一个CSS hack来将Tableview与外部滚动条绑定 一个滚动条控制两个表格视图 我的想法的概述 创建两个表视图 制作一个垂直滚动条 在
  • 向图节点添加标签

    我使用 visnetwork 库制作了下图 library tidyverse library igraph set seed 123 n 15 data data frame tibble d paste 1 n relations da
  • 在 C# 中同步闪烁标签

    我创建了一个BlinkingLabel类 源自Forms Label 其中有一个Forms Timer这允许我启用和禁用闪烁效果 我创建了 4 个标签BlinkingLabel类型 我的问题是 如果所有 4 个标签在不同时间闪烁 则闪烁效果
  • 更改 的默认按钮标签

    我在用
  • 以编程方式创建 UILabel

    我通过代码执行了以下操作 UILabel label UILabel alloc initWithFrame CGRectMake 40 70 300 50 label backgroundColor UIColor clearColor
  • 如何使用 JavaFX 中的 JCSG 库将 MeshView 转换为 CSG 对象

    我正在使用 JavaFX 的 JCSG 库 我有一些MeshView我想将它们转换成的对象CSG对象 有办法实现吗 最简单的方法是组合javafx scene shape Mesh对象与 CSG 对象 前提是您有TriangleMesh正在
  • 如何创建到任何 fancybox 框的直接链接

    我需要当我单击任何使用 fancybox 的内容时 它会生成一个特定的 URL 因此当我将此链接发送给某人时 它会打开我想要的特定框 例如 fancybox net home当我点击第一张图片时 链接仍然存在fancybox net hom
  • 是否可以删除将鼠标悬停在链接上时出现的手形光标? (或将其设置为普通指针)

    我想删除当您将鼠标悬停在超链接上时出现的手形光标 我试过这个CSS a link cursor pointer 和这个 a link cursor pointer important 当我将鼠标悬停在链接上时 它仍然会变成手 有谁知道为什么
  • 无法解析符号“javafx.scene.web”

    使用Intellij 2021 3 2 JavaFX版本 11 0 2 1 我正在尝试将 JavaFX WebView 添加到我的应用程序中 我的导入语句无法编译 import javafx scene web 编译错误 java 找不到符

随机推荐