JFrame.setBackground设置无效

JFrame这样的框架,一旦创建,在其中就已经包含一个内容面板,一般我们在往JFrame中添加组件时,都加在了内容面板中,这个面板可以通过JFrame的成员方法getContentPane()取出来,所以如果设置JFrame的背景颜色,仍然会被内容面板盖住,不如设置内容面板的背景颜色,如果框架中还加有其他面板,内容面板的颜色也会被其他面板盖住,要注意一下面板的布局情况。

 
  

在使用JFrame.setBackground(new Color);是发现这个方法调用后并没有改变JFrame窗口的背景颜色,这体现了点JFrame和Frame的区别: JFrame要用: JFrame.getContentPane().setBackground(new Color); 来改变JFrame的背景颜色; Frame中则可以直接使用: Frame.setBackground(new Color);

 

JFrame透明度设置

  java.awt.EventQueue.invokeLater(new Runnable() {    public void run() {     AAA a = new AAA();     a.setVisible(true); //    com.sun.awt.AWTUtilities.setWindowShape(a, new Ellipse2D.Double(0, 0, a.getWidth(), a.getHeight()));     com.sun.awt.AWTUtilities.setWindowOpacity(a, 0.80f);    }   });

 

a为JFrame 0.80F为透明度系数

你可能感兴趣的:(java)