javax.swing.UIManager 干什么用

时间:2023-01-26 23:53:58
javax.swing.UIManager 干什么用
在 Java 语言中,此类管理当前外观及其默认值。
在 .NET Framework 中,没有直接等效项。

8 个解决方案

#1


UIManager全局实例
一般我们做swing的项目时可能碰到这样的需求,
就是一个窗口保持一个实例
if(UIManager.get("xxxx") == null){ 
frame=new JFrame(""); 
UIManager.put("xxx",frame); 
frame.show(); 
}else{ 
((JFrame)UIManager.get("xxxx")).show(); 

c#中不知道类库有没有个全局管理,但是至少将一个form做成单例模式的。可以达到这种效果

#2


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

#3


界面管理啊

#4


界面风格。。。可以用这个来管理的

#5


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

#6


怎么用啊?给个例子好吗??

#7


这个一般可以用来改变观感。

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();
}

#8


该回复于2012-09-03 08:29:48被版主删除

#1


UIManager全局实例
一般我们做swing的项目时可能碰到这样的需求,
就是一个窗口保持一个实例
if(UIManager.get("xxxx") == null){ 
frame=new JFrame(""); 
UIManager.put("xxx",frame); 
frame.show(); 
}else{ 
((JFrame)UIManager.get("xxxx")).show(); 

c#中不知道类库有没有个全局管理,但是至少将一个form做成单例模式的。可以达到这种效果

#2


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

#3


界面管理啊

#4


界面风格。。。可以用这个来管理的

#5


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

#6


怎么用啊?给个例子好吗??

#7


这个一般可以用来改变观感。

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();
}

#8


该回复于2012-09-03 08:29:48被版主删除