убрать фокус из первого ряда JTable - PullRequest
5 голосов
/ 16 ноября 2010

У меня есть JTable и строки в нем. По умолчанию выбран первый ряд, и в нем находится фокус. Как отменить выбор первого ряда и изменить фокус на другое место, чтобы .addListener(new RowSetListener() также работало в первом ряду.

Я уже пробую:

tableZaposlenciView1.setRowSelectionAllowed(true);        
//tableZaposlenciView1.getSelectionModel().clearSelection();
//tableZaposlenciView1.setColumnSelectionInterval(0,0);
//tableZaposlenciView1.setRowSelectionInterval(false,false);        
tableZaposlenciView1.changeSelection(0,0,false,false);
tableZaposlenciView1.requestFocus();

но это не работает.

Ответы [ 2 ]

3 голосов
/ 16 ноября 2010

Посмотрите на метод changeSelection () JTable. Я считаю, что он делает то, что вы хотите.

РЕДАКТИРОВАТЬ: Если вы хотите очистить выбор:

JTable table = ...;
table.getSelectionModel().clearSelection();
0 голосов
/ 19 ноября 2010

, если у кого-то есть аналогичная проблема с ADF и JTable, здесь есть решение.Я достигаю этого, переопределяя first () на VO impl.Моя проблема может быть решена.

Это пригодится во многих ситуациях:

  • нет выбора после обновления (просто вернуть null из first ())
  • повторно выбратьопределенная строка после обновления (до обновления сохраните ключ строки, после обновления в first (), если сохраненный ключ найден, перейдите к этой строке и верните ее из first ())
  • найти следующую подходящую строку для пользователя, которомуработать после обновления рабочего списка
  • избегать дорогостоящих подробных исполнений в ситуации VL
...