Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在类似于(JTable)的JGrid中选择鼠标单击并移动的单元格?_Java_Jtable_Listener_Keylistener_Listselectionlistener - Fatal编程技术网

Java 如何在类似于(JTable)的JGrid中选择鼠标单击并移动的单元格?

Java 如何在类似于(JTable)的JGrid中选择鼠标单击并移动的单元格?,java,jtable,listener,keylistener,listselectionlistener,Java,Jtable,Listener,Keylistener,Listselectionlistener,我有ListSelectionListener,它告诉我什么时候用鼠标选择单元格 JGrid grid = new JGrid(); grid.getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); grid.getSelectionModel().addListSelectionListener(new ListSelectionListener() { @Overrid

我有ListSelectionListener,它告诉我什么时候用鼠标选择单元格

JGrid grid = new JGrid();
grid.getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
grid.getSelectionModel().addListSelectionListener(new ListSelectionListener() {

   @Override
   public void valueChanged(final ListSelectionEvent e) {
       e.getFirstIndex();
       e.getLastIndex()
   }
}
我只想在按住shift键时选择sell。我怎么做


我需要它的多重选择。当用户按住shift键并单击单元格时,会显示getFirstIndex和getLastIndex。

将类似的KeyListener添加到JGrid中,假设JGrids使用KeyListener

boolean shiftIsDown = false;

yourJGrid.addKeyListener(new KeyListener()
        {
            public void keyPressed(KeyEvent e)
            {
                if (e.getKeyCode == e.VK_SHIFT) shiftIsDown = true; 
            }

            public void keyReleased(KeyEvent e)
            {
                 if (e.getKeyCode == e.VK_SHIFT && 
                     shiftIsDown == true) shiftIsDown = false;
            }

            public void keyTyped(KeyEvent e)
            {
                // nothing
            }

        });
现在,当您得到一个valueChanged事件时,只需检查您的boolean shiftIsDown值是否为true,如果为true,您就可以进行选择