我有一個Jtable從一組值中填充。 我的代碼是這樣的:如何更改具有特定列值的JTable整行的顏色
private static final String[] columnNames = {"Line Number", "Error","Fix Proposed","Percentage (%)"};
static DefaultTableModel model = new DefaultTableModel(null,columnNames);
public static void DisplayMyJList(List<CaptureErrors> x,String extension,
ArrayList<Integer> l,ArrayList<Integer> p,
ArrayList<String> e,ArrayList<String> s) throws IOException {//Method to Dynamic get values to be populated in Jtable.
String theExtension = extension;
if(FILE_EXTENSION.equals("java")) {
for(CaptureErrors ex: x) {
Vector row = new Vector();
row.add(ex.getLinenumber());
row.add(ex.getMyfounderror());
row.add(ex.getMycorrection());
row.add(ex.getMyPercentage()+"%");
model.addRow(row);
//model.setRowColour(1, Color.YELLOW);
}
}
table = new JTable(model);
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
table.setFillsViewportHeight(true);
table.setShowGrid(true);
table.setShowVerticalLines(true);
table.setGridColor(new Color(0,128,0));
JTableHeader header = table.getTableHeader();
table.setBackground(new Color(255,228,225));
table.setEnabled(true);
header.setFont(new Font("Dialog", Font.CENTER_BASELINE, 12));
header.setBackground(Color.black);
header.setForeground(Color.yellow);
JScrollPane pane4 = new JScrollPane(table);
我可以通過使用一個JButton從值的陣列填充的JTable。 我想有一個條件,如果列「百分比」,獲取此列中的所有值> 30,它將行突出顯示爲color.red。
我不想用戶TableCellRendererComponent。我想要這個動作在點擊Jbutton時執行。
實際的JTable看起來是這樣的:
然後按照我想要得到的,第一個2行應該以紅色突出顯示。任何幫助讚賞。
您的表格將所有數據視爲字符串。你應該重寫'getColumnClass()'方法來返回正確的類,以便每列可以正確格式化。 – camickr 2013-03-25 05:16:14