From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../hjp5/examples/ColoredTableCellRenderer.java | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 Master/Reference Architectures and Patterns/hjp5/examples/ColoredTableCellRenderer.java (limited to 'Master/Reference Architectures and Patterns/hjp5/examples/ColoredTableCellRenderer.java') 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 -- cgit v1.2.3