按行特定颜色 [英] Color specific row by rowid
本文介绍了按行特定颜色的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这样的JTable
I have JTable like this
String[] columnTitles=new String[]{"Command","Offset","Type","Value","Units","R/W"};
Object[][] data=new Object[20][7];
for(int i=0;i<ROWS_NUMBER;i++){
cmbName=RootData.getRootData().getMessageContainer().getComboBoxNameTable();
cmbOffset=RootData.getRootData().getMessageContainer().getComboBoxOffsetTable();
txtType=new JTextField();
txtValue=new JTextField();
txtUnit=new JTextField();
cmbRW=new JComboBox(new String[]{"Read","Write"});
editorsCommand.add(new DefaultCellEditor(cmbName));
editorsOffset.add(new DefaultCellEditor(cmbOffset));
editorsType.add(new DefaultCellEditor(txtType));
editorsValue.add(new DefaultCellEditor(txtValue));
editorsUnits.add(new DefaultCellEditor(txtUnit));
editorsRW.add(new DefaultCellEditor(cmbRW));
}
for(int i=0;i<20;i++)
for(int j=0;j<7;j++)
data[i][j]="";
DefaultTableModel model=new DefaultTableModel(data,columnTitles);
this.tblCommands=new JTable(model){
/**
*
*/
private static final long serialVersionUID = 1L;
public TableCellEditor getCellEditor(int row, int column)
{
int modelColumn = convertColumnIndexToModel( column );
if (modelColumn == 0 && row < 20)
return editorsCommand.get(row);
else if(modelColumn == 1 && row < 20)
return editorsOffset.get(row);
else if(modelColumn == 2 && row < 20)
return editorsType.get(row);
else if(modelColumn == 3 && row < 20)
return editorsValue.get(row);
else if(modelColumn == 4 && row < 20)
return editorsUnits.get(row);
else if(modelColumn == 5 && row < 20)
return editorsRW.get(row);
else
return super.getCellEditor(row, column);
}
};
tblCommands.getColumnModel().getColumn(0).setMinWidth(300);
System.out.println(model.isCellEditable(0,2));
spCommand=new JScrollPane(tblCommands);
如何用示例绿色为一行仇敌示例row = 2上色?
How to color one row foe example row=2 in Color green?
推荐答案
典型的方法是让CellRenderer对象为所需的行着色: http://download.oracle.com/javase/tutorial/uiswing/components/table.html#renderer
The typical method is just to have your CellRenderer objects color the rows you need: http://download.oracle.com/javase/tutorial/uiswing/components/table.html#renderer
另一种方法可以在camickr的答案的第二部分中找到: 无论如何,我是否可以突出显示一行在JTable中?
Another approach can be found in the second part of camickr's answer here: Is there anyway I can highlight a row in JTable?
这篇关于按行特定颜色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文