gpt4 book ai didi

java - JFrame颜色变化

转载 作者:行者123 更新时间:2023-12-02 09:59:39 28 4
gpt4 key购买 nike

我有一个出现在计时器末尾的 JFrame。下面的代码会弹出框架和声音。框架的颜色是从菜单中设置的,然后将其赋予框架。我需要框架在默认颜色和我在菜单中选择的颜色之间交替。提前致谢

new Thread(new Runnable()
{
public void run()
{
JFrame frame= new JFrame();
frame.setVisible(true);
frame.setSize(600, 400);
frame.setLocation(200, 200);
frame.setTitle("ALARM");
frame.getContentPane().setBackground(GUI.this.timerPanel.colorButton.getBackground()); // *This is the source for the color i select in the menu*
JLabel welcome = new JLabel("",SwingConstants.CENTER);
welcome.setFont(new Font("Serif", Font.PLAIN, 48));
welcome.setText("ALARM ALARM ALARM");
frame.add(welcome);
new SoundEngine().playSound();





}
})

.start();

最佳答案

Swing线程不友好,请尝试了解SwingUtility.InvokeLater

要更改颜色,请使用JFrame.setBackGround(color)

现在您将如何切换?

对我来说,最好的方法是创建一个名为 UtilClass

public class Util{
private static int ser=0;
private static Color[] backColor=new Color[]{Color.red,Color.green,Color.white};
public static void setBC(JFrame frame){
frame.setBackGround(backColor[ser++%backColor.lenght]);
}

现在,在您的扩展 JFrame 类或部分上,只需调用 Util.setBC(frame) 即可。

它在这三种颜色之间变化,您可以根据需要添加更多甚至删除它们。

关于java - JFrame颜色变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55729822/

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