2015-02-23 3 views
0

ОТВЕТ: Мне не разрешено публиковать ответы ... thumbs up stackoverflow !!!Java Изменение цвета определенной строки в JTable

Но вот это:

Святой Freakin' ....

Я сделал это, actualy это было проще, чем я думал ....

Вот мое решение:

Мне пришлось отредактировать это с помощью NotePad ++, потому что NetBeans дозволяет мне редактировать автоматически сгенерированный initComponents().


ВОПРОС: Я знаю, есть много и много примеров и руководства по этому вопросу, но ни один из них не похоже на работу для меня ....

Im получения данных из SQL-баз данных которые я показываю в JTable. Существует дата под названием «ActionPoint». Теперь я хочу отметить каждую красную строку, где «ActionPoint» равен сегодняшнему, «меньше», чем сегодня.

Мой код для conpare сегодня с «ActionPoint» для ebery строки в моей JTable:

for(int row = 0;row < dbApplicantsTableModel.getRowCount();row++) { 

      String sd = ""; 
      sd = (String) dbApplicantsTableModel.getValueAt(row, 5); 
      try { 
       acdate = df.parse(sd); 
      } catch (ParseException ex) { 
       Logger.getLogger(EditApplicationJFrame.class.getName()).log(Level.SEVERE, null, ex); 
      } 

      if (acdate.compareTo(d)<=0){ 

      } 


    } 

Так я должен иметь свою «строку», которая должна теперь быть окрашены в красный цвет.

Может ли кто-нибудь предоставить метод, который просто получает строку, а затем устанавливает фон этой определенной строки красным?

EDIT:

Теперь мой код выглядит следующим образом:

for(int row = 0;row < dbApplicantsTableModel.getRowCount();row++) { 


      String sd = ""; 
      sd = (String) dbApplicantsTableModel.getValueAt(row, 5); 
      try { 
       acdate = df.parse(sd); 
      } catch (ParseException ex) { 
       Logger.getLogger(EditApplicationJFrame.class.getName()).log(Level.SEVERE, null, ex); 
      } 

      if (acdate.compareTo(d)<=0){ 
       dbApplicantsTableModel.setRowColour(row, Color.RED); 
      } 

Но ист оленья кожа устанавливать какие-либо фон красный!

К сожалению, мне нужна репутация 10 размещать изображения -.-

+0

use Table Cell Renderer –

+0

Попробуйте написать «TableCellRenderer». Если у вас есть проблемы, кто-то, вероятно, сможет вам помочь. – khelwood

+0

Вы видели, что http://stackoverflow.com/questions/3875607/change-the-background-color-of-a-row-in-a-jtable –

ответ

0

я хочу, чтобы пометить каждую строку, где красную «ActionPoint» приравнивает сегодня Одер «меньше», чем сегодня.

Отъезд Table Row Rendering для легкого подхода к решению этой проблемы. Подход переопределяет метод prepareRenderer(...) JTable, поэтому вы можете добавить логику в одном месте с помощью простого выражения «if».

Смежные вопросы