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

标签 java swing user-interface

我正在制作一个微波模拟程序,但遇到了一个恼人的问题。我希望微波炉观察窗在按下按钮时改变颜色,以可视化微波炉已打开。但是,因为我还有一个背景中有图标(食物图像)的 jlabel,所以我需要背景是半透明的。我已经通过向 jPanel (cookingWindow) 添加 alpha 值来完成此操作。

它是这样开始的

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

这有效,除了发生这种情况

当我最小化和最大化窗口时,一切都会回到原来的位置。但显然,如果您不必最小化窗口,那就更好了。关于如何阻止这种视觉错误有什么想法吗?

最佳答案

参见Backgrounds With Transparency了解问题的解释和一些解决方案。

基本上,问题在于 Swing 不透明属性如何处理透明背景(事实并非如此)。

关于Java - 背景重绘时的图形故障,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22801601/

相关文章:

java - 关闭应用程序按钮监听器

Java File.exists 和其他文件操作为现有文件返回错误结果(网络、macosx)

java - 从 servlet 获取搜索引擎查询字符串

c# - 使用 IKVM 指定 .Net Framework

java - DatePickerCellEditor() 有什么问题?

java - 多个 jcombobox 的问题

java - 我可以在 CardLayout 中设置单个面板的大小吗?

python - 如果没有动态添加,如何正确删除 Kivy 中的小部件

Eclipse:服务器上的 "Configured resource"是否为斜体(添加和删除...-对话框)

java - Java中如何将值从一个类传递到另一个类?