示例#1
0
 public static void scaleIcon(JToggleButton button) {
   if (isScaleImages() && button != null) {
     if (button.getIcon() != null && button.getIcon() instanceof ImageIcon) {
       button.setIcon(getScaledIcon((ImageIcon) button.getIcon()));
     }
     if (button.getSelectedIcon() != null && button.getSelectedIcon() instanceof ImageIcon) {
       button.setSelectedIcon(getScaledIcon((ImageIcon) button.getSelectedIcon()));
     }
     if (button.getRolloverIcon() != null && button.getRolloverIcon() instanceof ImageIcon) {
       button.setRolloverIcon(getScaledIcon((ImageIcon) button.getRolloverIcon()));
     }
     if (button.getRolloverSelectedIcon() != null
         && button.getRolloverSelectedIcon() instanceof ImageIcon) {
       button.setRolloverSelectedIcon(getScaledIcon((ImageIcon) button.getRolloverSelectedIcon()));
     }
     if (button.getDisabledIcon() != null && button.getDisabledIcon() instanceof ImageIcon) {
       button.setDisabledIcon(getScaledIcon((ImageIcon) button.getDisabledIcon()));
     }
     if (button.getDisabledSelectedIcon() != null
         && button.getDisabledSelectedIcon() instanceof ImageIcon) {
       button.setDisabledSelectedIcon(getScaledIcon((ImageIcon) button.getDisabledSelectedIcon()));
     }
     if (button.getPressedIcon() != null && button.getPressedIcon() instanceof ImageIcon) {
       button.setPressedIcon(getScaledIcon((ImageIcon) button.getPressedIcon()));
     }
   }
 }
 /**
  * Adds a panel to this configuration panel.
  *
  * @param text the text to use on the toolbar button
  * @param icon the icon to use on the toolbar button
  * @param icon2 the icon to use on the toolbar button when the mouse button is held down
  * @param p the configuration panel page
  */
 public void addPanel(String text, Icon icon, Icon icon2, JPanel p) {
   JToggleButton button = new JToggleButton(text, icon);
   button.setVerticalTextPosition(AbstractButton.BOTTOM);
   button.setHorizontalTextPosition(AbstractButton.CENTER);
   button.setContentAreaFilled(false);
   try {
     // JDK 1.4+
     // button.setIconTextGap(0);
     AbstractButton.class
         .getMethod("setIconTextGap", new Class[] {Integer.TYPE})
         .invoke(button, new Object[] {new Integer(0)});
   } catch (Exception ex) {
   }
   button.setPressedIcon(icon2);
   group.add(button);
   toolbar.add(button);
   toolbar.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, Color.gray));
   button.addItemListener(
       new ItemListener() {
         public void itemStateChanged(ItemEvent e) {
           JToggleButton b = (JToggleButton) e.getSource();
           switch (e.getStateChange()) {
             case ItemEvent.SELECTED:
               select(b);
               break;
             case ItemEvent.DESELECTED:
               unselect(b);
               break;
           }
         }
       });
   if (panel.getComponentCount() == 0) {
     button.setSelected(true);
     page = 0;
   } else {
     unselect(button);
   }
   panel.add(p, text.intern());
 }
 @Override
 public void setPressedIcon(Icon icon) {
   Icon arrow = updateIcons(icon, ICON_PRESSED);
   super.setPressedIcon(hasPopupMenu() ? arrow : icon);
 }