Java 有条件地禁用jButton

Java 有条件地禁用jButton,java,string,swing,jbutton,string-comparison,Java,String,Swing,Jbutton,String Comparison,我有一个包含一些帐户数据的jTable。如果第4列(在代码vise第3列)的单元格文本(数据)为“否”,我想在单击jTable行时禁用一个按钮。下面是我的代码,但它不起作用 int selectedRow = tblJournalBatchList.getSelectedRow(); if (tblJournalBatchList.getValueAt(selectedRow, 3) == "NO") { btnPost.setEnabled(false); } 我的代码怎么了?使用.

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

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

我的代码怎么了?

使用
.equals
代替
=
。在这种情况下不能使用
=
,因为
String
对象
类型。它只适用于int、char等基本体……您正在检查引用质量,这就是它不起作用的原因。有关更多信息,请参见此


这是SelectionListener的代码吗?谢谢,伙计,它成功了。但不需要强制转换为字符串值,因为它已经是字符串值了。我说的对吗?请不要忘记阅读引用的问题说明,需要将
if((String)tblJournalBatchLis…
包装到
if(selectedRow>-1){
到trest如果选择了任何一行,请删除所有代码并替换为说明和指向教程的链接关于
ListSelectionListener
int selectedRow = tblJournalBatchList.getSelectedRow();

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

    btnPost.setEnabled(false);

}