/** Creates new form CheckerBoardColorCalibration */
 public CheckerBoardColorCalibration(java.awt.Frame parent, boolean modal) {
   super(parent, modal);
   initComponents();
   ModifiableJOptionPane.reverseOKCancel(ok, cancel);
   setLocationByPlatform(true);
   colorA.setText(Integer.toHexString(getColorA()));
   colorB.setText(Integer.toHexString(getColorB()));
   ColorIcon.installWithColorPicker(colorAButton, colorA);
   ColorIcon.installWithColorPicker(colorBButton, colorB);
 }
      /**
       * get a rendered component for this data item
       *
       * @param list the list being edited
       * @param value the value of this item
       * @param index the index of this item
       * @param isSelected whether this item is selected
       * @param cellHasFocus whether this item has focus
       * @return a component to use
       */
      public Component getListCellRendererComponent(
          JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
        NamedColor nm = (NamedColor) value;
        if (isCurrentValue(index)) {
          setForeground(Color.red);
        } else {
          setForeground(Color.black);
        }
        if (nm != null) {
          icon.setColor(nm.getColor());
          setIcon(icon);
          setText(nm.name);
        }

        if (isSelected) {
          setBorder(redBorder);
        } else {
          setBorder(emptyBorder);
        }

        return this;
      }
Beispiel #3
0
 public Object getValue() {
   ColorIcon value = (ColorIcon) combo.getSelectedItem();
   return value.getColor();
 }
    public Component getTableCellRendererComponent(
        JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
      JComponent renderer = null;

      if (value instanceof Icon) {
        Icon icon = (Icon) value;
        // Hack to fix problem where some plaf Icons cast the component to
        // various component classes. yikes!  not very re-usable icons :(
        String className = (String) table.getValueAt(row, UIDefaultsTableModel.TYPE_COLUMN);
        if (className.contains("BasicIconFactory$RadioButtonMenuItemIcon")
            || className.contains("BasicIconFactory$CheckBoxMenuItemIcon")
            || className.contains("OceanTheme$IFIcon")
            || className.contains("MotifIconFactory$RadioButtonIcon")
            || className.contains("MotifIconFactory$CheckBoxIcon")
            || className.contains("MotifIconFactory$MenuArrowIcon")
            || className.contains("WindowsIconFactory$FrameButtonIcon")
            || className.contains("WindowsIconFactory$RadioButtonIcon")) {
          buttonIconRenderer.setIcon(icon);
          buttonIconRenderer.setSelected(true);
          renderer = buttonIconRenderer;

        } else if (className.contains("MetalIconFactory$RadioButtonIcon")) {
          radioIconRenderer.setIcon(icon);
          renderer = radioIconRenderer;

        } else if (className.contains("MetalIconFactory$RadioButtonMenuItemIcon")
            || className.contains("MetalIconFactory$CheckBoxMenuItemIcon")
            || className.contains("MetalIconFactory$MenuArrowIcon")
            || className.contains("MetalIconFactory$MenuItemArrowIcon")) {
          menuItemIconRenderer.setIcon(icon);
          menuItemIconRenderer.setSelected(true);
          renderer = menuItemIconRenderer;

        } else if (className.contains("MetalIconFactory$CheckBoxIcon")
            || className.contains("WindowsIconFactory$CheckBoxIcon")) {
          checkboxIconRenderer.setIcon(icon);
          checkboxIconRenderer.setSelected(true);
          renderer = checkboxIconRenderer;
        }
      }

      if (renderer != null) {
        // special hack renderer for icons needs to be colorized because
        // it doesn't extend RowRenderer
        setColors(table, row, isSelected);
        setBorder(renderer, hasFocus, isSelected);

      } else {
        // renderer == this
        renderer =
            (JComponent)
                super.getTableCellRendererComponent(
                    table, value, isSelected, hasFocus, row, column);
        if (value instanceof Color) {
          Color color = (Color) value;
          float[] hsb = Color.RGBtoHSB(color.getRed(), color.getGreen(), color.getBlue(), null);

          setIcon(ColorIcon.getIcon(color));
          setText(
              "RGB="
                  + color.getRed()
                  + ","
                  + color.getGreen()
                  + ","
                  + color.getBlue()
                  + "  "
                  + "HSB="
                  + String.format("%.0f%n", hsb[0] * 360)
                  + ","
                  + String.format("%.3f%n", hsb[1])
                  + ","
                  + String.format("%.3f%n", hsb[2]));

        } else if (value instanceof Font) {
          Font font = (Font) value;
          setFont(font);
          setText(font.getFontName() + " size=" + font.getSize2D());
          setIcon(null);

        } else if (value instanceof Icon) {
          setIcon((Icon) value);
          setText("");
        }
      }
      return renderer;
    }