设置JTextFields的背景颜色时alpha参数的问题

时间:2016-10-18 17:15:23

标签: java swing user-interface background transparency

我正在编写一个聊天程序,我试图通过向主JPanel(构建所有内容的那个)添加背景图像来使其更有趣。当我尝试使用代码

更改JTextField或JTextArea 50%的透明度时
MainPanel = new JPanel(){

@Override
    public void paintComponent(Graphics g) {
        ImageIcon im = new ImageIcon("background.jpg");
        Image i = im.getImage();

        g.drawImage(i,0,0,this.getSize().width,this.getSize().height,this);
    }
};

...

outputWindow.setBackground(new Color(0,0,0,128));

其中'outputWindow'是添加到'MainPanel'的JTextArea,一旦我在该区域显示一些文本,我会得到很多乱码。 Screenshot of the problem

我按顺序键入“hi”和“hello world”,你可以在输出屏幕的顶部看到,但有没有办法摆脱额外的乱码?

1 个答案:

答案 0 :(得分:0)

对于部分透明的每个Swing组件,请务必致电setOpaque(false);

https://tips4java.wordpress.com/2009/05/31/backgrounds-with-transparency/