1

これが私のコードです。で複数の行を選択したいのですJTableが、次の行を使用しています。

table.getColumnModel().getSelectionModel().setSelectionMode(
    javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);

上記の行では、キーボードを使用して複数の行を選択できますが、要件はマウスのみを使用して選択することです。

これ以外に、Java がキーボードを使用せずにマウスのみを使用して複数選択できるようにするものはありますか?

4

4 に答える 4

2

このコードがあれば、ctrl を押しながら複数回クリックするだけで済みます。

編集:しかし、キーボードを使用したくない場合は、可能だと思います。これを試してください:

Ctrl/Command キーを使用せずに JList で複数の項目を選択する

于 2012-07-05T07:08:20.683 に答える
2

ありえないと思います。行を選択済みとしてマークできるチェックボックスを含む列をテーブルに追加することをお勧めします。もちろん、テーブル選択モデルを使用してどの行が選択されているかを知ることはできません。

于 2012-07-05T07:09:22.797 に答える
1

はい、次のように changeSelection 関数をオーバーライドすることで、キーボードを使用せずに複数の行を選択できます。

@Override
        public void changeSelection(int rowIndex, int columnIndex, boolean toggle, boolean extend) {
            latestClickedRowIndex = rowIndex;
            ListSelectionModel selectionModel = getSelectionModel();
            boolean selected = selectionModel.isSelectedIndex(rowIndex);
            //throw new UnsupportedOperationException("Paila.");
            if (selected) {
                selectionModel.removeSelectionInterval(rowIndex, rowIndex);
                getValueAt(rowIndex, columnIndex);
            } else {
                selectionModel.addSelectionInterval(rowIndex, rowIndex);
            }
        }
于 2013-03-04T20:05:05.757 に答える