当前位置: 代码迷 >> J2SE >> javax.swing.UIManager 干吗用
  详细解决方案

javax.swing.UIManager 干吗用

热度:5954   发布时间:2013-02-25 00:00:00
javax.swing.UIManager 干什么用
javax.swing.UIManager 干什么用
在 Java 语言中,此类管理当前外观及其默认值。
在 .NET Framework 中,没有直接等效项。

------解决方案--------------------------------------------------------
这个作用很多啊。
1:你想用java写个圆形的或者不规则的窗口吗?那么这个可以完成。
2:你想用java写个有透明度的窗口吗?这个也可以完成后
3:你是不是讨厌了java的默认风格。或者你更喜欢windows的风格,那么这个也可以完成

------解决方案--------------------------------------------------------
最近做了一个关于这java通信工具的项目,在做界面的时候经常和UIManager打交道,简单点说它就是界面管器吧,可以改变java默认的界面风格,个人认为想把界面风格做好,UIManager这个是不行的。 .NET Framework 就不知道了,不好意思!
------解决方案--------------------------------------------------------
这个一般可以用来改变观感。

UIManager.setLookAndFeel(观感名);
SwingUtilities.updateComponentTreeUI(面板引用);
这段代码必须能够被捕获异常,否则报错。
观感类型字符串:
Metal:javax.swing.plaf.metal.MetalLookAndFeel
Motif:com.sun.java.swing.plaf.motif.MotifLookAndFeel
Windows:com.sun.java.swing.plaf.windows.WindowsLookAndFeel
如:windows观感
try {
Container contentPane = getContentPane();//内容面板
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
SwingUtilities.updateComponentTreeUI(contentPane);
}
 catch (Exception e) {}

要是改变整个应用的观感,只需要在main方法里加入:
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedLookAndFeelException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
  相关解决方案