[原创]Swing技巧.4:设置系统窗口边框
这个就是独家的了,
设置系统窗口,边框,标题,最小化,还原,最大化按钮,这样说不清,自己写一个Swing程序看一下效果.
最好用metal,也就是不改L&F.
我是把语句放在SwingSet2里,用了不同的LookandFeel实验.
1.方法1:全局设置,在第一个窗口new之前:
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame,JDialog.setDefaultLookAndFeelDecorated
static global setting ,Provides a hint as to whether or not newly created JDialogs and JFrames should have their Window decorations (such as borders, widgets to close the window, title...) provided by the current look and feel.
2.方法2:对单独窗口
if(currentLookAndFeel.getSupportsWindowDecorations()){
frame.setUndecorated(true);
frame.getRootPane().setWindowDecorationStyle(JRootPane.FRAME);
}
//Returns true if the LookAndFeel returned RootPaneUI instances support providing Window decorations in a JRootPane.
if(currentLookAndFeel.getSupportsWindowDecorations()){
//Disables or enables decorations for this frame. This method can only be called while the frame is not displayable.
frame.setUndecorated(true);
//Sets the type of Window decorations (such as borders, widgets for closing a Window, title ...) the JRootPane should provide.
frame.getRootPane().setWindowDecorationStyle(JRootPane.FRAME);
/*JRootPane Constant used for the windowDecorationStyle property.
*NONE=0; FRAME=1; PLAIN_DIALOG=2;
*INFORMATION_DIALOG=3; ERROR_DIALOG=4;
*COLOR_CHOOSER_DIALOG=5; FILE_CHOOSER_DIALOG=6;
*QUESTION_DIALOG=7; WARNING_DIALOG=8;
*/
}
SwingSet2 截图1:metal LookAndFeel
SwingSet2 截图2:windows LookAndFeel,没有边框
SwingSet2 截图3:metouia LookAndFeel
SwingSet2 截图4:oyoaha LookAndFeel
SwingSet2 截图5:3D LookAndFeel,没有边框
SwingSet2 截图6:Motif LookAndFeel,没有边框