gpt4 book ai didi

java - Swing JButton 中的默认属性(颜色)(默认)

转载 作者:行者123 更新时间:2023-12-01 11:17:03 24 4
gpt4 key购买 nike

我尝试获取 Swing JButton 中的背景颜色(默认)。返回的颜色是 RGB (238,238,238),但这并不完全是我需要的。将背景颜色更改为其他颜色后,如何将背景颜色恢复为默认颜色?

JPanel panelButtons = new JPanel();
JButton button_01 = new JButton("01");
panelButtons.add(button_01);

默认 JButton:

enter image description here

在我的代码的特定条件下,我定义了:

button_01.setBackground(Color.BLACK);
button_01.setForeground(Color.GREEN);

背景颜色和前景已更改的 JButton:

enter image description here

在我的代码的另一个条件下,我需要将 JButton button_01 的背景颜色返回到旧配置:

我尝试将背景设置为nullUIManager.getColor("panelButtons.background"):

button_01.setBackground(null);
button_01.setForeground(Color.BLACK);

或者

button_01.setBackground(UIManager.getColor("panelButtons.background"));
button_01.setForeground(Color.BLACK);

结果是一样的:

enter image description here

如何将 JButton button_01 返回到默认主题颜色?

最佳答案

How can I return the background color to default after I changed the background color to another color ?

尝试将 JButton 的背景设置为 null。例如:

myButton.setBackground(null);
<小时/>

例如:

import java.awt.Color;
import java.awt.event.ActionEvent;
import javax.swing.*;

public class ChangeButtonColor {

private static void createAndShowGui() {
final JButton myButton = new JButton(new AbstractAction("Press Me To Swap Colors") {
private boolean flag = true;

@Override
public void actionPerformed(ActionEvent e) {
Color c = flag ? Color.RED : null;
((AbstractButton) e.getSource()).setBackground(c);
flag = !flag;
}
});

JPanel mainPanel = new JPanel();
mainPanel.add(myButton);

JFrame frame = new JFrame("GUI");
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.getContentPane().add(mainPanel);
frame.pack();
frame.setLocationByPlatform(true);
frame.setVisible(true);
}

public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGui();
}
});
}
}

关于java - Swing JButton 中的默认属性(颜色)(默认),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31699373/

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