【发布时间】:2011-12-03 23:45:18
【问题描述】:
我在 JFrame 中有一个半透明背景的 JLabel,但我在字母周围出现了一些伪影。
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.io.IOException;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Main {
public static void main(String[] args) {
JFrame frame = new JFrame();
JLabel label = new JLabel("Hello World!");
frame.setPreferredSize(new Dimension(200, 200));
frame.setUndecorated(true);
frame.setBackground(new Color(128, 128, 128, 128));
//label.setOpaque(false);
//label.setBackground(new Color(0, 0, 0, 0));
//((JPanel) frame.getContentPane()).setOpaque(false);
//((JPanel) frame.getContentPane()).setBackground(new Color(0, 0, 0, 0));
frame.add(label);
frame.pack();
frame.setVisible(true);
}
}
我已经尝试将不透明度应用于这些组件,但没有运气。我希望所有组件都完全不透明,因此 JFrame 的 java7 每像素透明度似乎是唯一的解决方案。
【问题讨论】:
标签: java swing transparency jframe