从Swing程序获得意外的输出 [英] Getting unexpected output from the swing program
问题描述
在下面的代码中,为什么我会看到一个不可见的窗口?
setUndecorated()
用途及其用途.
In the following code why i'm getting an invisible window?What does
setUndecorated()
do and where it is used for.
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);
是什么.我必须使用其中之一,否则会引发异常.
Secondly if i comment out jfrm.setUndecorated(true)
and instead use JFrame.setDefaultLookAndFeelDecorated(true);
then i get a translucent window as expected.
So,what is setUndecorated()
and JFrame.setDefaultLookAndFeelDecorated(true);
.I have to use one of them as otherwise an exception is thrown.
推荐答案
在框架上调用SetUndecorated以删除标题栏/最大化按钮/等.这是一个很好的示例:
SetUndecorated is called on a frame to remove The title bar/maximize button/ etc. Here is a good example: http://docs.oracle.com/javase/tutorial/uiswing/misc/trans_shaped_windows.html#shaped
这篇关于从Swing程序获得意外的输出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!