private JTable getTRent() {
if (tRent == null) { ...
tRent.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent arg0) {
tDescription.setText(house.getDescripcionMansion(tRent.getSelectedRow()));
image.setIcon(new ImageIcon(BookWindow.class.getResource(
"/images/" + house.getCodeMansion(tRent.getSelectedRow()) + ".png")));
String childrenAllowed = house.getChildrenAllowed(tRent.getSelectedRow());
if (childrenAllowed == "N"){
txKids.setEditable(false);
cbBookHouse.setEnabled(true);
}
}
});
}
return tRent;
}
我对之前代码的问题是,除了图像之外,任何条件都已完成,似乎被忽略了。
我刚刚检查过该值是否正确读取,并且在控制台中有一个println
,我根据行获得N或Y,但如果我检查该值,则组件没有任何反应希望改变它的状态。
还试图将这些条件放入组件中,同样的情况发生。
例如,getChildrenAllowed()
方法的代码就像这样
public String getChildrenAllowed(int index) {
return houseRelation.get(index).getChildren();
}
答案 0 :(得分:1)
请勿将字符串与==
进行比较,使用equals()
或equalsIgnoreCase()
if ("N".equalsIgnoreCase(childrenAllowed))