下面列出了javax.swing.AbstractButton#setRolloverIcon ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public static void formatPrev(AbstractButton button) {
button.setIcon(createIcon(false, .75f));
button.setRolloverIcon(createIcon(false, .85f));
button.setSelectedIcon(createIcon(false, 1f));
button.setDisabledIcon(createIcon(false, .3f));
button.setUI(new BevelButtonUI());
button.setContentAreaFilled(true);
button.putClientProperty("JButton.segmentPosition", "first");
button.setBorderPainted(true);
}
public static void formatNext(AbstractButton button) {
button.setIcon(createIcon(true, .75f));
button.setRolloverIcon(createIcon(true, .85f));
button.setSelectedIcon(createIcon(true, 1f));
button.setDisabledIcon(createIcon(true, .3f));
button.setUI(new BevelButtonUI());
button.setContentAreaFilled(true);
button.putClientProperty("JButton.segmentPosition", "last");
button.setBorderPainted(true);
}
@Override
protected Component createPreviousButton() {
AbstractButton button = NavigationButtons.createPrev();
format(button);
button.setIcon(new TriangleIcon(SwingConstants.WEST, 24, 24,
Color.lightGray));
button.setRolloverIcon(new TriangleIcon(SwingConstants.WEST, 24, 24,
Color.white));
button.setDisabledIcon(new TriangleIcon(SwingConstants.WEST, 24, 24,
Color.darkGray));
button.setName(PREV_BUTTON_NAME);
installPreviousButtonListeners(button);
return button;
}
@Override
protected Component createNextButton() {
AbstractButton button = NavigationButtons.createNext();
format(button);
button.setIcon(new TriangleIcon(SwingConstants.EAST, 24, 24,
Color.lightGray));
button.setRolloverIcon(new TriangleIcon(SwingConstants.EAST, 24, 24,
Color.white));
button.setDisabledIcon(new TriangleIcon(SwingConstants.EAST, 24, 24,
Color.darkGray));
button.setName(NEXT_BUTTON_NAME);
installNextButtonListeners(button);
return button;
}
protected AbstractButton createFirstButton() {
AbstractButton button = new JButton();
format(button);
button.setIcon(new FirstIcon(2, 24, 24, Color.lightGray));
button.setRolloverIcon(new FirstIcon(2, 24, 24, Color.white));
button.setDisabledIcon(new FirstIcon(2, 24, 24, Color.darkGray));
button.setName("Spinner.firstButton");
installFirstButtonListeners(button);
return button;
}
protected AbstractButton createLastButton() {
AbstractButton button = new JButton();
format(button);
button.setIcon(new LastIcon(2, 24, 24, Color.lightGray));
button.setRolloverIcon(new LastIcon(2, 24, 24, Color.white));
button.setDisabledIcon(new LastIcon(2, 24, 24, Color.darkGray));
button.setName("Spinner.lastButton");
installLastButtonListeners(button);
return button;
}
private AbstractButton getImageButton( AbstractButton button, String iconPrefix, String iconSuffix ){
button.setHorizontalTextPosition(JButton.CENTER);
button.setVerticalTextPosition(JButton.CENTER);
button.setBorderPainted( false );
button.setContentAreaFilled( false );
button.setFocusPainted( false );
button.setMargin( new Insets(0,0,0,0) );
button.setIcon( TGResourceUtils.loadIcon( iconPrefix + iconSuffix ) );
button.setPressedIcon( TGResourceUtils.loadIcon( iconPrefix + "_pressed" + iconSuffix ) );
button.setRolloverIcon( TGResourceUtils.loadIcon( iconPrefix + "_over" + iconSuffix ) );
button.setSelectedIcon( TGResourceUtils.loadIcon( iconPrefix + "_selected" + iconSuffix ) );
button.setRolloverSelectedIcon( TGResourceUtils.loadIcon( iconPrefix + "_selected_over" + iconSuffix ) );
return button;
}
/**
* 为按钮设置图标,并据原图icon自动调用方法 {@link #filterWithRescaleOp(ImageIcon, float, float, float, float)}
* 使用滤镜分别生成RolloverIcon、PressedIcon并设置之.
*
* @param btn
* @param ico
* @since 3.5
* @deprecated since 3.6
*/
public static void setButtonIcon(AbstractButton btn, Icon ico)
{
//* 图片设定
btn.setIcon(ico);
if(ico != null && ico instanceof ImageIcon)
{
//rover时图片颜色变成红色
btn.setRolloverIcon(BEUtils.filterWithRescaleOp((ImageIcon)ico, 2f, 1f, 1f, 1f));
//press时图片颜色变成淡红色
btn.setPressedIcon(BEUtils.filterWithRescaleOp((ImageIcon)ico, 2f, 1f, 1f, 0.5f));
}
}
@Override
public void actionPerformed(ActionEvent e) {
final Object source = e.getSource();
if (source instanceof AbstractButton) {
AbstractButton collapseButton = (AbstractButton) source;
toggleCollapsed(index);
if (collapsed[index]) {
collapseButton.setIcon(icons[0]);
collapseButton.setRolloverIcon(roll_over_icons[0]);
} else {
collapseButton.setIcon(icons[1]);
collapseButton.setRolloverIcon(roll_over_icons[1]);
}
}
}
private static void configure(AbstractButton button) {
RolloverButtonEventListener l = new RolloverButtonEventListener();
button.addMouseListener(l);
button.addItemListener(l);
if (button.getAction() != null) {
if (button.getIcon() != null) {
button.putClientProperty("hideActionText", Boolean.TRUE);
}
Object largeIcon = button.getAction().getValue("_largeIcon");
if (largeIcon instanceof Icon) {
button.setIcon((Icon) largeIcon);
}
}
Icon icon = button.getIcon();
int minWidth = BUTTON_MIN_SIZE;
int minHeight = BUTTON_MIN_SIZE;
if (icon != null) {
button.setText(null);
minWidth = Math.max(icon.getIconWidth(), BUTTON_MIN_SIZE);
minHeight = Math.max(icon.getIconHeight(), BUTTON_MIN_SIZE);
if (icon instanceof ImageIcon) {
button.setRolloverIcon(createRolloverIcon((ImageIcon) icon));
}
} else {
button.setText("[?]");
}
final int space = 3;
Dimension prefSize = new Dimension(minWidth + space, minHeight + space);
Dimension minSize = new Dimension(minWidth, minHeight);
Dimension maxSize = new Dimension(minWidth + space, minHeight + space);
button.setPreferredSize(prefSize);
button.setMaximumSize(maxSize);
button.setMinimumSize(minSize);
}
private JComponent getCollapseButton(JComponent bodyComponent, boolean isInitiallyCollapsed) {
final AbstractButton hideAndShowButton;
if (isInitiallyCollapsed) {
hideAndShowButton = ToolButtonFactory.createButton(CollapseSupport.expandIcon, false);
hideAndShowButton.setRolloverIcon(CollapseSupport.expandRolloverIcon);
hideAndShowButton.setToolTipText("Expand Panel");
} else {
hideAndShowButton = ToolButtonFactory.createButton(CollapseSupport.collapseIcon, false);
hideAndShowButton.setRolloverIcon(CollapseSupport.collapseRolloverIcon);
hideAndShowButton.setToolTipText("Collapse Panel");
}
hideAndShowButton.addActionListener(new CollapseSupport(isInitiallyCollapsed, bodyComponent, hideAndShowButton));
return hideAndShowButton;
}
static void updateButtonIcons(AbstractButton button, Icon icon, boolean useLargeIcon, String iconResource) {
button.setIcon(icon);
if (iconResource != null) {
String base = iconResource;
String suffix = "";
int dotIndex;
if ((dotIndex = iconResource.lastIndexOf('.')) >= 0) {
suffix = iconResource.substring(dotIndex, iconResource.length());
base = iconResource.substring(0, dotIndex);
}
if (useLargeIcon) {
base += LARGE_ICON_SIZE_STRING;
}
Icon pressedIcon = ImageUtilities.loadImageIcon(base + "_pressed" + suffix, true); // NOI18N
if (pressedIcon != null) {
button.setPressedIcon(pressedIcon);
}
Icon rolloverIcon = ImageUtilities.loadImageIcon(base + "_rollover" + suffix, true); // NOI18N
if (rolloverIcon != null) {
button.setRolloverIcon(rolloverIcon);
}
Icon disabledIcon = ImageUtilities.loadImageIcon(base + "_disabled" + suffix, true); // NOI18N
if (disabledIcon != null) {
button.setDisabledIcon(disabledIcon);
} else { // Make disabled icon from regular icon
button.setDisabledIcon(ImageUtilities.createDisabledIcon(icon));
}
Icon selectedIcon = ImageUtilities.loadImageIcon(base + "_selected" + suffix, true); // NOI18N
if (selectedIcon != null) {
button.setSelectedIcon(selectedIcon);
}
Icon rolloverSelectedIcon = ImageUtilities.loadImageIcon(base + "_rolloverSelected" + suffix, true); // NOI18N
if (rolloverSelectedIcon != null) {
button.setRolloverSelectedIcon(rolloverSelectedIcon);
}
Icon disabledSelectedIcon = ImageUtilities.loadImageIcon(base + "_disabledSelected" + suffix, true); // NOI18N
if (disabledSelectedIcon != null) {
button.setDisabledSelectedIcon(disabledSelectedIcon);
}
}
}
void setIcon(AbstractButton button, Icon icon) {
button.setIcon(icon);
button.setRolloverIcon(new DarkenedIcon(button, .5f));
button.setPressedIcon(new DarkenedIcon(button, .75f));
}
protected static void setIcon(AbstractButton button, Icon icon) {
button.setIcon(icon);
button.setRolloverIcon(new DarkenedIcon(icon, .5f));
button.setPressedIcon(new DarkenedIcon(icon, .75f));
}