gpt4 book ai didi

Java setPressedIcon 不工作

转载 作者:行者123 更新时间:2023-12-01 14:49:26 25 4
gpt4 key购买 nike

我的应用程序中有菜单,我想设置菜单项正常状态图标和按下状态图标。添加了正常状态图标,但是当我按下菜单项时,正常状态图标不会被按下状态图标改变。这里有什么问题:

        JMenu m=new JMenu(text);
m.setBackground(getTheme().colors.menuColor());
m.setOpaque(false);
m.setIcon(core.getIcon(text, "normal"));
m.setPressedIcon(core.getIcon("webmaps", "pressed"));

最佳答案

此问题已 seen before 。继承的setPressedIcon不会更改 JMenu(或实际上 JMenuItem)上的背景 Icon。您可以在组件上使用 MenuListener 作为解决方法:

m.addMenuListener(new MenuListener() {

@Override
public void menuSelected(MenuEvent e) {
JMenu menu = (JMenu) e.getSource();
menu.setIcon(core.getIcon("webmaps", "pressed"));
}

@Override
public void menuDeselected(MenuEvent e) {
JMenu menu = (JMenu) e.getSource();
menu.setIcon(core.getIcon(text, "normal"));
}

@Override
public void menuCanceled(MenuEvent e) {
JMenu menu = (JMenu) e.getSource();
menu.setIcon(core.getIcon(text, "normal"));
}
});

关于Java setPressedIcon 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15034573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com