JTable での非連続セルの選択
JTable では、デフォルトの選択モードでは連続したセルの選択のみが可能です。個別の非連続セル選択を可能にするには、次のアプローチが検討できます。
1. CTRL MOUSE_CLICK:
setSelectionMode(ListSelectionModel.SINGLE_SELECTION) が設定されていない場合、CTRL キーを押しながらセルをクリックすると、複数の不連続なセルを選択できます。
2.変更された ListSelectionModel:
ListSelectionModel は JTable と JList の両方で共有されるため、次の変更された ListSelectionModel を使用できます:
import java.awt.Component; import java.awt.event.InputEvent; import java.awt.event.MouseEvent; import javax.swing.*; public class NonContSelectionModel extends DefaultListSelectionModel { @Override protected void processMouseEvent(MouseEvent e) { int modifiers = e.getModifiers() | InputEvent.CTRL_MASK; MouseEvent myME = new MouseEvent((Component) e.getSource(), e.getID(), e.getWhen(), modifiers, e.getX(), e.getY(), e.getXOnScreen(), e.getYOnScreen(), e.getClickCount(), e.isPopupTrigger(), e.getButton()); super.processMouseEvent(myME); } }
このモデルは、setSelectionModel(新しいNonContSelectionModel()).
デモ:
次のコード スニペットは、変更された ListSelectionModel:
以上がJTable で非連続セル選択を有効にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。