Почему в следующем коде я получаю невидимое окно? Что делает 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);
. Я должен использовать один из них, иначе будет выдано исключение.