1

我的问题是当我将 MouseListener 添加到 JTable 时,没有结果。

示例:类 OnlineList 扩展了 JTable。

// In constructor:
public OnlineList() {

    this.addMouseListener(new MouseAdapter() {

        @Override
        public void mouseClicked(MouseEvent e) {

            System.out.println("Check mouse click");
        }
    });
}

没有像“检查鼠标点击”这样的输出我认为事件监听器被忽略了。

4

1 回答 1

0

我试图做你想做的事,一切正常。这是我的代码:

    public static void main(String... s) {
     JFrame test = new JFrame("Test");
     JTable t = new JTable(new Object[][]{{1,2},{2,3}},new Object[]{"a","b"});
     t.addMouseListener(getMouseListener());
     test.add(new JScrollPane(t));
     test.setVisible(true);
     test.pack();
}

private static MouseListener getMouseListener() {
    return new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent arg0) {
            System.out.println("test");
        }
    };
}

我建议你在你的代码中验证这个对象,它真的是你的表吗?

于 2013-10-29T07:04:21.707 回答