0

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

ボタンシフト長押し時のみ売却を選択したい。どうすればできますか?

複数選択のために必要です。ユーザーがシフトを押したままセルをクリックすると、 と が表示されgetFirstIndex()ます getLastIndex()

4

1 に答える 1

0

JGrids が keyListener を受け取ると仮定して、これと同様の KeyListener を JGrid に追加します。

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() イベントを取得したら、ブール値の「shiftIsDown」値が true かどうかを確認してください。そうであれば、選択を行うことができます。

于 2012-06-12T20:28:39.713 に答える