java AbstractButton_Java AbstractButton.setRolloverIcon方法代码示例

本文介绍了一种用于更新Swing按钮图标的实用方法。该方法能够根据不同状态加载对应的图标资源,包括按下、悬停、禁用及选中状态等,极大地提高了按钮组件的视觉表现力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import javax.swing.AbstractButton; //导入方法依赖的package包/类

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

}

}

}

"D:\Program Files\Java\bin\java.exe" "-javaagent:D:\IntelliJ IDEA 2024.1.4\lib\idea_rt.jar=54488:D:\IntelliJ IDEA 2024.1.4\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath "D:\IntelliJ IDEA 2024.1.4\JAVA-code\studentManage\out\production\studentManage" studentManage.MainFrame java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:413) at java.base/java.lang.Class.forName(Class.java:404) at studentManage.SQLHelp.<clinit>(SQLHelp.java:26) at studentManage.QueryFrame$2.actionPerformed(QueryFrame.java:132) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972) at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2314) at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:407) at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6621) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3398) at java.desktop/java.awt.Component.processEvent(Component.java:6386) at java.desktop/java.awt.Container.processEvent(Container.java:2266) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4996) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948) at j
最新发布
07-02
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值