X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=srcjar%2Ffr%2Forsay%2Flri%2Fvarna%2Fcomponents%2FColorRenderer.java;fp=srcjar%2Ffr%2Forsay%2Flri%2Fvarna%2Fcomponents%2FColorRenderer.java;h=fa0c2857bbe345465589ca4d8a64b13ffaefe940;hb=ec8f3cedf60fb1feed6d34de6b49f6bfa78b9dd8;hp=0000000000000000000000000000000000000000;hpb=056dad85a910551cc95e44d451a61f6b8c4dd35d;p=jalview.git diff --git a/srcjar/fr/orsay/lri/varna/components/ColorRenderer.java b/srcjar/fr/orsay/lri/varna/components/ColorRenderer.java new file mode 100644 index 0000000..fa0c285 --- /dev/null +++ b/srcjar/fr/orsay/lri/varna/components/ColorRenderer.java @@ -0,0 +1,52 @@ + +package fr.orsay.lri.varna.components; + + +import java.awt.Color; +import java.awt.Component; + +import javax.swing.BorderFactory; +import javax.swing.JLabel; +import javax.swing.JTable; +import javax.swing.border.Border; +import javax.swing.table.TableCellRenderer; + +public class ColorRenderer extends JLabel implements TableCellRenderer { + /** + * + */ + private static final long serialVersionUID = 1L; + Border unselectedBorder = null; + Border selectedBorder = null; + boolean isBordered = true; + + public ColorRenderer(boolean isBordered) { + this.isBordered = isBordered; + setOpaque(true); // MUST do this for background to show up. + } + + public Component getTableCellRendererComponent(JTable table, Object color, + boolean isSelected, boolean hasFocus, int row, int column) { + Color newColor = (Color) color; + setBackground(newColor); + if (isBordered) { + if (isSelected) { + if (selectedBorder == null) { + selectedBorder = BorderFactory.createMatteBorder(2, 5, 2, + 5, table.getSelectionBackground()); + } + setBorder(selectedBorder); + } else { + if (unselectedBorder == null) { + unselectedBorder = BorderFactory.createMatteBorder(2, 5, 2, + 5, table.getBackground()); + } + setBorder(unselectedBorder); + } + } + + setToolTipText("RGB value: " + newColor.getRed() + ", " + + newColor.getGreen() + ", " + newColor.getBlue()); + return this; + } +}