[英]Getting unexpected output from the swing program
在下面的代碼中為什么我會setUndecorated()
一個不可見的窗口? 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);
我必須使用其中之一,否則會引發異常。
在框架上調用SetUndecorated以刪除標題欄/最大化按鈕/等。這是一個很好的示例: http : //docs.oracle.com/javase/tutorial/uiswing/misc/trans_shaped_windows.html#shaped
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.