-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJTableUtilities.java
More file actions
39 lines (32 loc) · 1.38 KB
/
Copy pathJTableUtilities.java
File metadata and controls
39 lines (32 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import javax.swing.*;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import java.awt.*;
public class JTableUtilities
{
public static void setCellsAlignment(JTable table, int alignment, DefaultTableModel tableModel)
{
DefaultTableCellRenderer rightRenderer = new DefaultTableCellRenderer(){
//https://stackoverflow.com/questions/35431232/jtable-cell-text-color-changing
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
int row, int column) {
Component c = super.getTableCellRendererComponent(table,value,isSelected,hasFocus,row,column);
if(tableModel.isCellEditable(row,column)){
c.setForeground(Color.GREEN);
}
else{
c.setForeground(Color.RED);
}
return c;
}
};
rightRenderer.setHorizontalAlignment(alignment);
//TableModel tableModel = table.getModel();
for (int columnIndex = 0; columnIndex < tableModel.getColumnCount(); columnIndex++)
{
table.getColumnModel().getColumn(columnIndex).setCellRenderer(rightRenderer);
}
}
}