java JTable忽略鼠标事件

时间:2013-10-28 20:22:03

标签: java swing events jtable

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

实施例: OnlineList类扩展了JTable。

// In constructor:
public OnlineList() {

    this.addMouseListener(new MouseAdapter() {

        @Override
        public void mouseClicked(MouseEvent e) {

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

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

1 个答案:

答案 0 :(得分: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");
        }
    };
}

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