我有一个包含一些帐户数据的jTable。我想在单击jTable Row时禁用按钮,如果单元格文本(数据)是第4列的“否”(在代码视图第3列中)。下面是我的代码,但它不起作用。
int selectedRow = tblJournalBatchList.getSelectedRow();
if (tblJournalBatchList.getValueAt(selectedRow, 3) == "NO") {
btnPost.setEnabled(false);
}
我的代码出了什么问题?
答案 0 :(得分:2)
使用.equals
代替==
。你不能在这种情况下使用==
,因为String
是object
类型。它只适用于像int,char这样的原语....你正在检查参考质量这就是为什么它不是工作。有关详细信息,请参阅此How do I compare strings in Java?
int selectedRow = tblJournalBatchList.getSelectedRow();
if ((String)tblJournalBatchList.getValueAt(selectedRow, 3).equals("NO")) {
btnPost.setEnabled(false);
}