gpt4 book ai didi

java - 如何在 Swing 中创建翻转按钮

转载 作者:行者123 更新时间:2023-11-30 04:12:11 25 4
gpt4 key购买 nike

所以我有两个按钮,

JButton playB = new JButton(new ImageIcon("res/playA.png"));
playB.setBorder(BorderFactory.createEmptyBorder());
playB.setContentAreaFilled(false);
JButton playA = new JButton(new ImageIcon("res/playA.png"));
playA.setBorder(BorderFactory.createEmptyBorder());
playA.setContentAreaFilled(false);

如何创建它,以便当我将鼠标移到按钮 A 上时它会切换到按钮 B?我能想到的就是使用鼠标监听器,但我想知道是否有更好的方法。

最佳答案

How would I create it so that when I move my mouse over button A it switches to button B? All I can think of doing is using a mouse listener but I'm wondering if there would be any better way.

Note: The setRolloverIcon method can't be used for this.

例如

JButton.getModel().addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
ButtonModel model = (ButtonModel) e.getSource();
if (model.isRollover()) {
//doSomething
} else if (model.isPressed()) {
//doSomething
} // etc
}
});
<小时/>

编辑

再次回来

How would I create it so that when I move my mouse over button A it switches to button B? All I can think of doing is using a mouse listener but I'm wondering if there would be any better way.

  • 结论是,首先 JButton(按钮 A) 不是,也永远不会在用户端通过 MouseKeyEvent 访问s,因为这两个事件都会(立即)roll_over

  • 那么只有一种方法,从 KeyBinding 中以编程方式调用 JButton.doClick(),但仍然存在何时、如何以及为何原因的问题...把简单的事情复杂化

关于java - 如何在 Swing 中创建翻转按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19357588/

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