【问题标题】:Disable a jButton Conditionally [duplicate]有条件地禁用 jButton [重复]
【发布时间】:2014-11-07 07:59:38
【问题描述】:

我有一个包含一些帐户数据的 jTable。我想在单击 jTable Row 时禁用一个按钮,如果单元格文本(数据)是第 4 列的“否”(在代码虎钳第 3 列中)。下面是我的代码,但它不起作用。

int selectedRow = tblJournalBatchList.getSelectedRow();
if (tblJournalBatchList.getValueAt(selectedRow, 3) == "NO") {
    btnPost.setEnabled(false);
}

我的代码有什么问题?

【问题讨论】:

  • SelectionListener的代码吗?

标签: java string swing jbutton string-comparison


【解决方案1】:

使用.equals 代替==。在这种情况下,您不能使用==,因为Stringobject 类型。它仅适用于int、char ....您正在检查参考质量,这就是它不起作用的原因。欲了解更多信息,请参阅How do I compare strings in Java?

int selectedRow = tblJournalBatchList.getSelectedRow();

if ((String)tblJournalBatchList.getValueAt(selectedRow, 3).equals("NO")) {

    btnPost.setEnabled(false);

}

【讨论】:

  • 谢谢老兄,它成功了。但无需转换为字符串值,因为它已经是字符串值。我说的对吗?
  • 不错别忘了阅读引用的问题
  • 注意需要将if ((String)tblJournalBatchLis.... 包装成if (selectedRow > -1) {,如果选择了任何行,则删除所有代码并替换为描述和指向有关ListSelectionListener 的教程的链接
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-20
  • 1970-01-01
  • 2021-09-28
相关资源
最近更新 更多