mouseClicked事件无法正常工作

时间:2013-12-30 13:42:39

标签: java swing jtable mouselistener

 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();
  }

1 个答案:

答案 0 :(得分:1)

请勿将字符串与==进行比较,使用equals()equalsIgnoreCase()

if ("N".equalsIgnoreCase(childrenAllowed))

请参阅How do I compare Strings in Java