【发布时间】:2019-08-28 14:21:44
【问题描述】:
我遇到了更改框架颜色的问题。我创建了计时器 timer1 并最初将框架的颜色设置为 co1_ 例如 (RED)。 现在,当我尝试将实际颜色与预定义值进行比较时,我总是收到以下信息:
框架颜色为:javax.swing.plaf.ColorUIResource[r=238,g=238,b=238]
并且框架颜色仍然保持红色。你知道我做错了什么吗? :)
提前致谢。
Color col1 = Color.RED;
Color col1_= new Color(255,0,0);
Color col2 = Color.GREEN;
Color col2_ = new Color(238,238,238);
JFrame jfrmForm = new JFrame();
jfrmForm.setSize(400, 300);
jfrmForm.setLocation(300,300);
jfrmForm.setVisible(rootPaneCheckingEnabled);
jfrmForm.getContentPane().setBackground(col1_);
//getting color from Frame
Color c = getContentPane().getBackground();
timer.start();
timer.setRepeats(false);
Timer timer1 = new Timer(1000*frekvCmbBox, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (c.equals(col1_)) {
jfrmForm.getContentPane().setBackground(col2_);
System.out.println("Frame color is_: " + c.toString());
}
else {
jfrmForm.getContentPane().setBackground(col1_);
System.out.println("Frame color is: " + c.toString());
}
}
});
timer1.start();
【问题讨论】:
-
顺便说一句 - 移动
Color c = getContentPane().getBackground();inside action执行方法!
标签: java swing colors timer background