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); }