Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > Как сделать шаг вперед и незад из JTable


Автор: KISha 16.2.2008, 22:19
Народ помогите Плиз!!  smile 
при нажатие кнопку, как сделать шаг вперед и назад из JTable, 
то есть при  нажатие кнопку Далее шаг вперед, а  при нажать кнопку Назад шаг назад. 
все шаги должно двигатся в JTable,  smile 
Как это делается, помогите!!!  smile 
Код

...
 JButton bNazad = new JButton("Назад");
 JButton bDale  = new JButton("Далее");
...
 Object [] col={"Name","Fam","Born year"};
 Object [][] row={{"Max","Loy","1990"},
                 {"Tony","Jem","1978"},
                 {"Lee","Yo",",1980"},
                 {"Jony","Sala","1988"},
                 {"Alex","Huy","1985"}
                };

 JTable jTable=new JTable(col,row);
 JScrollPane sr=new JScrollPane();
 sr.setViewportView(jTable);
...

public void actionPerformed(ActionEvent ev)
{  
   
   source=ev.getSource();
   
   if(source==bDale)
              {// Далее
                // шаг вперед (вниз)  :sample 
                 }
   if(source==bNazad)
     {// Назад
//  шаг назад (вверх)  :sample 
        }

Автор: powerOn 16.2.2008, 22:33
Что значит "шаг назад" и "шаг вперед"?

Автор: nornad 16.2.2008, 23:34
Судя по комментариям в коде - переход к следующей/предыдущей строке.

KISha, первым делом надо в SelectionModel таблицы установить режим выделения ListSelectionModel.SINGLE_SELECTION.
Далее, в обработчике кнопок надо индекс выделенной строки getSelectedRow, проверить на возможность перехода выше/ниже, получить эту селектмодель от таблицы и сделать на ней setSelectionInterval.

Автор: dorogoyIV 17.2.2008, 04:56
Exeption не выбрасывается если индекс больше количества строк  smile 
Код

 public void actionPerformed(ActionEvent e)
 {
  ListSelectionModel model=table.getSelectionModel();
  Object source=e.getSource();
  int row=table.getSelectedRow();

  if(source == bDale)
  {
   row++;
  }
  if(source == bNazad)
  {
   row--;
  }
  model.setSelectionInterval(row, row);
 }

Автор: KISha 19.2.2008, 13:51
Спасибо всем за помощь и тебе dorogoyIV спасибо за код !!!
Всем удачи!!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)