[英]JTable - prevent the user from de-selecting all elements in the table
我有一個固定內容的表,我知道它永遠不會為空。
我想將其用作單選按鈕(松散地說):我總是希望一次只選擇一行。
我已經知道可以將選擇模型設置為SINGLE_SELECTION
但是(出乎意料的是)這似乎並不能阻止用戶取消選擇表中的所有行。
有沒有一種簡單的方法可以防止用戶取消選擇表中的所有行?
我只能想到這樣的東西:
@Override
public void valueChanged(ListSelectionEvent listSelectionEvent) {
if (!listSelectionEvent.getValueIsAdjusting() && table.getSelectedRow() == -1) {
table.selectRow(0);
}
}
但是坦率地說,對於這樣一個簡單的任務來說似乎太笨拙了(我需要記住舊的選擇才能更好地實現該模式)...
有沒有更簡單/更優雅的方式?
謝謝!
如果這是被取消選擇的最后一行,則覆蓋“ changeSelection”方法以不取消選擇,例如
public void changeSelection(int rowIndex, int columnIndex, boolean toggle, boolean extend)
{
if(!(toggle && jt.getSelectedRowCount() == 1))
{
super.changeSelection(rowIndex, columnIndex, toggle, extend);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.