diff options
| author | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
|---|---|---|
| committer | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
| commit | 33613a85afc4b1481367fbe92a17ee59c240250b (patch) | |
| tree | 670b842326116b376b505ec2263878912fca97e2 /Master/Reference Architectures and Patterns/hjp5/examples/ColoredTableCellRenderer.java | |
| download | Studium-master.tar.gz Studium-master.tar.bz2 | |
Diffstat (limited to 'Master/Reference Architectures and Patterns/hjp5/examples/ColoredTableCellRenderer.java')
| -rw-r--r-- | Master/Reference Architectures and Patterns/hjp5/examples/ColoredTableCellRenderer.java | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/Master/Reference Architectures and Patterns/hjp5/examples/ColoredTableCellRenderer.java b/Master/Reference Architectures and Patterns/hjp5/examples/ColoredTableCellRenderer.java new file mode 100644 index 0000000..9249dbf --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/examples/ColoredTableCellRenderer.java @@ -0,0 +1,52 @@ +/* ColoredTableCellRenderer.java */
+
+import java.awt.*;
+import javax.swing.*;
+import javax.swing.border.*;
+import javax.swing.table.*;
+
+public class ColoredTableCellRenderer
+implements TableCellRenderer
+{
+ private Color lightBlue = new Color(160, 160, 255);
+ private Color darkBlue = new Color( 64, 64, 128);
+
+ public Component getTableCellRendererComponent(
+ JTable table,
+ Object value,
+ boolean isSelected,
+ boolean hasFocus,
+ int row,
+ int column
+ )
+ {
+ //Label erzeugen
+ JLabel label = new JLabel((String)value);
+ label.setOpaque(true);
+ Border b = BorderFactory.createEmptyBorder(1, 1, 1, 1);
+ label.setBorder(b);
+ label.setFont(table.getFont());
+ label.setForeground(table.getForeground());
+ label.setBackground(table.getBackground());
+ if (hasFocus) {
+ label.setBackground(darkBlue);
+ label.setForeground(Color.white);
+ } else if (isSelected) {
+ label.setBackground(lightBlue);
+ } else {
+ //Angezeigte Spalte in Modellspalte umwandeln
+ column = table.convertColumnIndexToModel(column);
+ if (column == 1) {
+ int numpages = Integer.parseInt((String)value);
+ if (numpages >= 250) {
+ label.setBackground(Color.red);
+ } else if (numpages >= 200) {
+ label.setBackground(Color.orange);
+ } else {
+ label.setBackground(Color.yellow);
+ }
+ }
+ }
+ return label;
+ }
+}
\ No newline at end of file |
