Jtable拖动选择

时间:2014-07-12 19:31:12

标签: java swing jtable

我有一个使用JTable的应用程序并将其选中:

        //The line below is setting ptm (AbstractTableModel instance) as the 
        //parameter for a new JTable instance.
            table = new JTable(ptm);
            table.setFillsViewportHeight(true);
        //This is setting user selection to a single interval.
            table.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
        scroll = new JScrollPane(table);

SINGLE_INTERVAL_SELECTION。但我不想拖动鼠标并选择多行。我怎么能或最好的方法来禁用鼠标拖动行!

我想过实现MouseMotionListener,我认为这是最好的方法。

http://docs.oracle.com/javase/7/docs/api/java/awt/event/MouseMotionListener.html

这就是我解决问题的方法。我最终发现他们是一个添加鼠标监听器到jScrollPane的错误。相反,您必须将其添加到面板的视图中。您必须将侦听器添加到JTable的父UI。

        scroll.getViewport().getView().addMouseMotionListener(new java.awt.event.MouseAdapter() {

            @Override
            public void mouseDragged(MouseEvent e) {
                System.out.println("Mouse has been dragged");

            }

            @Override
            public void mouseMoved(MouseEvent e) {
                // TODO Auto-generated method stub

            }

        });

0 个答案:

没有答案