gpt4 book ai didi

java - 当选择另一个 Jbutton 时恢复 Jbutton 中的颜色变化

转载 作者:行者123 更新时间:2023-12-01 22:20:38 25 4
gpt4 key购买 nike

我的 GUI 有一个来自 db 文件的过滤条目列表。对于每个条目,我都有一个选择 J 按钮,它显示每个条目的更多详细信息。

我想要实现的是让 select JButton 在按下时改变颜色,并在选择另一个条目的按钮时恢复到原始颜色。

我目前拥有的代码将很好地更改所选颜色的按钮,但在选择另一个条目的“详细信息”按钮时保持相同的颜色:

//within for loop for each object in database
JButton selectedButton = new JButton("Details");
selectButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
entry.vehicleSelected();
if(e.getSource() instanceof JButton )
((JButton)e.getSource()).setBackground(Color.RED);
((JButton)e.getSource()).setOpaque(true);
((JButton)e.getSource()).setContentAreaFilled(false);
}});

如何更改代码才能获得此效果?

最佳答案

您可以引入一个字段JButton buttonToReset,其中保存最后按下的按钮并使用它

public void actionPerformed(ActionEvent e) {
entry.vehicleSelected();
if(e.getSource() instanceof JButton )
((JButton)e.getSource()).setBackground(Color.RED);
((JButton)e.getSource()).setOpaque(true);
((JButton)e.getSource()).setContentAreaFilled(false);
if (buttonToReset!=null) {
buttonToReset.setBackground(UIManager.getColor("Button.background"));
}
buttonToReset = ((JButton)e.getSource());
}});

关于java - 当选择另一个 Jbutton 时恢复 Jbutton 中的颜色变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29888344/

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