透明窗口 ( AWTUtilities.setWindowOpaque(window, false) ) 中的文本没有正确抗锯齿,并且看起来与不透明窗口中的不同。
我正在使用 JDK 7.40。
知道如何解决它吗?
在下面的程序中,按钮文本没有抗锯齿(正确)。删除 setWindowOpaque() 修复了抗锯齿。
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.JButton;
import javax.swing.JFrame;
import com.sun.awt.AWTUtilities;
public class TransparentFrame extends JFrame
{
public TransparentFrame()
{
setUndecorated(true);
AWTUtilities.setWindowOpaque(this, false);
add(new JButton(new ExitAction()));
}
public static void main(String[] args)
{
JFrame frame = new TransparentFrame();
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
private class ExitAction extends AbstractAction
{
public ExitAction()
{
super("Exit");
}
@Override
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
}
}