【问题标题】:Disable a button by default when JFrame loades (SWING)JFrame 加载时默认禁用按钮 (SWING)
【发布时间】:2021-09-05 00:09:49
【问题描述】:

当 JFrame 加载时,我正在尝试默认禁用我的删除按钮:

jDelete.setEnabled(false);

我知道这行代码需要在 ActionPerformed 中,但是没有使用按钮执行任何操作,我只想在 JFrame 加载时禁用它,并且仅在选择表中的某些内容时启用它。选择并删除某些内容后,我可以成功禁用和启用该按钮,并且在我关闭或选择新行之前它将保持禁用状态。

有没有一种方法可以在默认情况下禁用按钮而无需将代码放入 ActionPerformed 中?

【问题讨论】:

  • I just want it to be disbled when JFrame loads and only be enabled when something in the table is selected 1. 创建JFrame 时禁用 2. 在JTable 上使用SelectionListener - 如果没有选择行,则禁用。否则启用。
  • 我可以很好地使用 SelectionListener,但是在创建 JFrame 时我似乎无法禁用该按钮。它不断向我抛出一个错误:“ 预期,类型的非法开始,包 jDelete 不存在”

标签: java swing button


【解决方案1】:

这可以通过在框架打开窗口的方法中将其设置为禁用来完成。

private void formWindowOpened(java.awt.event.WindowEvent evt) {                                  
    requiredbutton.setEnabled(false);     
} 

然后您可以简单地将其设置为启用。

【讨论】:

    【解决方案2】:

    你可以在创建按钮的时候设置它的属性:

    JButton jDelete = new JButton();
    //set needed properties
    jDelete.setEnabled(false);
    

    这样按钮从一开始就被禁用。

    【讨论】:

    • 我已经尝试过了,但我收到一条错误消息,提示“ 预期,类型的非法开头。”顺便说一句,如果有帮助,我正在使用 NetBeans。
    • jDelete.setEnabled(false);
    猜你喜欢
    • 1970-01-01
    • 2011-11-24
    • 1970-01-01
    • 2018-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-20
    相关资源
    最近更新 更多