0

在下面的代码中,为什么我得到一个不可见的窗口?做 setUndecorated()什么以及它用于何处。

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Toolkit;

import javax.swing.JFrame;
import javax.swing.SwingUtilities;


public class UsingJLayer {

UsingJLayer()
{
    JFrame jfrm=new JFrame("Picasa Viewer");
    jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Dimension dim=Toolkit.getDefaultToolkit().getScreenSize();
    jfrm.setSize(dim);
    jfrm.setUndecorated(true);
    jfrm.setBackground(new Color(0,100,0,0));


    jfrm.setVisible(true);

}
public static void main(String[] args) {
    //JFrame.setDefaultLookAndFeelDecorated(true);
    SwingUtilities.invokeLater(new Runnable(){public void run(){new UsingJLayer();}});

}

}

其次,如果我注释掉jfrm.setUndecorated(true)并改为使用JFrame.setDefaultLookAndFeelDecorated(true);,那么我会按预期得到一个半透明的窗口。那么,什么是setUndecorated()JFrame.setDefaultLookAndFeelDecorated(true);。我必须使用其中一个,否则会引发异常。

4

1 回答 1

0

在框架上调用 SetUndecorated 以删除标题栏/最大化按钮/等。这是一个很好的例子:http ://docs.oracle.com/javase/tutorial/uiswing/misc/trans_shape_windows.html#shape

于 2012-08-08T14:32:50.103 回答