Java - 背景重绘上的图形故障

时间:2014-04-02 04:31:38

标签: java swing user-interface

我正在制作微波模拟程序,并且遇到了烦人的问题。我希望微波炉观察窗在按钮按下时改变颜色,以显示微波炉已打开。但是,因为我在背景中也有一个带有图标(食物图像)的jlabel,所以我需要背景是半透明的。我已经完成了为jPanel(cookingWindow)添加alpha值。

它从这个

开始

所以我基本上完成的是使用以下代码将actionEvent设置为开始按钮     cookingWindow.setBackground(new Color (250,234,1, 150)); cookingWindow.repaint();

除非发生

,否则此方法有效

当我最小化并最大化窗口时,一切都会回到原位。但显然,如果你不必最小化窗口,那将是更好的选择。关于如何阻止这种视觉错误的任何想法?

2 个答案:

答案 0 :(得分:2)

有关问题的解释和一些解决方案,请参阅Backgrounds With Transparency

基本上问题是Swing opaque属性如何处理透明背景(它没有)。

答案 1 :(得分:-1)

重新验证并重新绘制jFrame似乎可以解决所有问题。我以前只是重画jPanel。