- 浏览: 685235 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (254)
- java分布式应用架构 (22)
- SSH框架整合 (6)
- java web 学习笔记 (49)
- java 学习笔记 (56)
- struts 2 学习 (6)
- Hibernate学习 (10)
- spring 学习 (2)
- 客户端编程(javascript) (4)
- IDE使用 (13)
- 生命 人生 (6)
- 系统维护 (3)
- 技术篇 (10)
- MySql (2)
- J2ME (1)
- java网络编程 (4)
- 数据库 (5)
- C/C++ (8)
- Oracle (7)
- 软件测试 (0)
- 软件的安装和部署 (0)
- Java快讯 (1)
- swt (1)
- Flex (1)
- 软件工程 (1)
- PostgreSQL (1)
- sql server2000 (2)
- 嵌入式数据库sqlite (5)
- J2EE (1)
- XML (1)
- ibatis3(MyBatis) (6)
- Linux&Unix (1)
- velocity (1)
- 回报社会 (4)
- 软件项目管理 (3)
- android研究 (3)
- C# (2)
- Objective-C (1)
- 音乐 (0)
- webx (1)
- JMS (1)
- maven软件项目管理 (1)
- 分布式服务 (0)
- 云平台 (0)
- 分布式存储 (1)
- 分布式系统架构 (0)
- 移动互联网 (1)
- ZooKeeper (1)
最新评论
-
liyys:
楼主,可不可以发这个项目的源码工程出来分享一下,少了几个类。楼 ...
仿照Hibernate实现一个SQLite的ORM框架 -
liyys:
少了一些类的源码没有粘贴出来
仿照Hibernate实现一个SQLite的ORM框架 -
honglei0412:
我使用的是这种方式获取db文件的目录但是 URL p = Fi ...
使用sqlite注意事项 -
honglei0412:
大侠 能不能说明下DbFile您是怎么做的吗?
使用sqlite注意事项 -
ahack:
刚写完mapping才发现早就有人写好了。仔细一看还都是针对的 ...
仿照Hibernate实现一个SQLite的ORM框架
今天学习了怎样切换Swing的观感,感觉还不错
在默认的情况下,Swing 程序使用Metal观感,可以采用两种方法改变观感。
第一种方式是在Java的安装的子目录下jre / lib有一个文件swing.properties。在这个文件中,将属性Swing.defaultlaf 设置为所希望的观感类名。例如:
swing.defaultlaf = com.sun.java.swing.plaf.motif.MotifLookAndFeel
ps:第一中方式我怎么也没找到那个swing.properties,不知大家的如何?
注意,Metal观感位于Javax.swing包中。其他的观感包位于com.sun.java包中,并且不是在每个Java实现中都提供。现在,鉴于版权的原因,Windows 和Mac 的观感包只与Windows和Mac版本的java运行环境一起发布。
提示:下面给出一个测试很有帮助的的建议。由于属性文件中的以#字符开始的行被忽略,所以,可以在swing.properties 文件中提供几种观感,并同过增删#字符来切换选择:
#swing.defaultlaf = javax.swing.plaf.metal.MetalLookAndFeel
swing.defaultlaf = com.sun.java.swing.plaf.motif.MotifLookAndFeel
#swing.defaultlaf = com.sun.java.swing.plaf.windows.WindowsLookAndFeel
采用这种方式开启观感时必须重新启动程序。Swing程序只在启动时读取一次swing.properties文件。
第二种方式是动态地改变观感。这需要调用静态的UIManager.setLookAndFeel方法,并提供所想要的观感类名,然后再调用静态方法 SwingUtilities.updateComponentTreeUI来刷新全部的组件集。这里需要向这个方法提供一个组件,并由此找到其他的所有组件。当UIManager.setLookAndFeel方法没有找到所希望的观感或在加载过程中出现错误时,将会抛出异常。
下面是一个例子,他显示了如何在程序中切换观感的方式。在这个程序中,这有点需要注意的地方。在内部动作监听器类的actionPerformed方法中,需要将一个外部的PalfPanel类的this引用传递给updateComponentTreeUI方法。
java 代码
1. import java.awt.*;
2. import java.awt.event.*;
3. import javax.swing.*;
4.
5.
6. public class PlafTest {
7.
8. public static void main(String[] args) {
9. // TODO Auto-generated method stub
10. PlafFrame frame = new PlafFrame();
11. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
12. frame.setVisible(true);
13.
14. }
15. }
16.
17. //A Frae with a button panel for chaing look and fell
18. class PlafFrame extends JFrame {
19.
20. public static final int DEFAULT_WIDTH = 300;
21. public static final int DEFAULT_HEITHT =200;
22.
23. public PlafFrame(){
24.
25. setTitle("PlaF Test");
26. setBounds(350,250,DEFAULT_WIDTH,DEFAULT_HEITHT);
27. PlafPanel panel = new PlafPanel();
28. add(panel);
29. }
30.
31. }
32.
33. //A panel with buttons to change the pluggable look and fell
34.
35. class PlafPanel extends JPanel {
36. public PlafPanel(){
37. UIManager.LookAndFeelInfo[] infos = UIManager.getInstalledLookAndFeels();
38. for(UIManager.LookAndFeelInfo info : infos)
39. makeButton(info.getName(),info.getClassName());
40.
41.
42. }
43.
44. void makeButton(String name,final String plafName){
45.
46. //add button to panel
47.
48. JButton button = new JButton(name);
49. add(button);
50.
51. //set button action
52.
53. button.addActionListener(new
54. ActionListener(){
55. public void actionPerformed(ActionEvent event){
56.
57. //button action :switch to the new look and feel
58. try{
59. UIManager.setLookAndFeel(plafName);
60. SwingUtilities.updateComponentTreeUI(PlafPanel.this);
61.
62. }
63. catch(Exception e){e.printStackTrace();}
64.
65. }
66.
67. });
68. }
69.
70.
71. }
在默认的情况下,Swing 程序使用Metal观感,可以采用两种方法改变观感。
第一种方式是在Java的安装的子目录下jre / lib有一个文件swing.properties。在这个文件中,将属性Swing.defaultlaf 设置为所希望的观感类名。例如:
swing.defaultlaf = com.sun.java.swing.plaf.motif.MotifLookAndFeel
ps:第一中方式我怎么也没找到那个swing.properties,不知大家的如何?
注意,Metal观感位于Javax.swing包中。其他的观感包位于com.sun.java包中,并且不是在每个Java实现中都提供。现在,鉴于版权的原因,Windows 和Mac 的观感包只与Windows和Mac版本的java运行环境一起发布。
提示:下面给出一个测试很有帮助的的建议。由于属性文件中的以#字符开始的行被忽略,所以,可以在swing.properties 文件中提供几种观感,并同过增删#字符来切换选择:
#swing.defaultlaf = javax.swing.plaf.metal.MetalLookAndFeel
swing.defaultlaf = com.sun.java.swing.plaf.motif.MotifLookAndFeel
#swing.defaultlaf = com.sun.java.swing.plaf.windows.WindowsLookAndFeel
采用这种方式开启观感时必须重新启动程序。Swing程序只在启动时读取一次swing.properties文件。
第二种方式是动态地改变观感。这需要调用静态的UIManager.setLookAndFeel方法,并提供所想要的观感类名,然后再调用静态方法 SwingUtilities.updateComponentTreeUI来刷新全部的组件集。这里需要向这个方法提供一个组件,并由此找到其他的所有组件。当UIManager.setLookAndFeel方法没有找到所希望的观感或在加载过程中出现错误时,将会抛出异常。
下面是一个例子,他显示了如何在程序中切换观感的方式。在这个程序中,这有点需要注意的地方。在内部动作监听器类的actionPerformed方法中,需要将一个外部的PalfPanel类的this引用传递给updateComponentTreeUI方法。
java 代码
1. import java.awt.*;
2. import java.awt.event.*;
3. import javax.swing.*;
4.
5.
6. public class PlafTest {
7.
8. public static void main(String[] args) {
9. // TODO Auto-generated method stub
10. PlafFrame frame = new PlafFrame();
11. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
12. frame.setVisible(true);
13.
14. }
15. }
16.
17. //A Frae with a button panel for chaing look and fell
18. class PlafFrame extends JFrame {
19.
20. public static final int DEFAULT_WIDTH = 300;
21. public static final int DEFAULT_HEITHT =200;
22.
23. public PlafFrame(){
24.
25. setTitle("PlaF Test");
26. setBounds(350,250,DEFAULT_WIDTH,DEFAULT_HEITHT);
27. PlafPanel panel = new PlafPanel();
28. add(panel);
29. }
30.
31. }
32.
33. //A panel with buttons to change the pluggable look and fell
34.
35. class PlafPanel extends JPanel {
36. public PlafPanel(){
37. UIManager.LookAndFeelInfo[] infos = UIManager.getInstalledLookAndFeels();
38. for(UIManager.LookAndFeelInfo info : infos)
39. makeButton(info.getName(),info.getClassName());
40.
41.
42. }
43.
44. void makeButton(String name,final String plafName){
45.
46. //add button to panel
47.
48. JButton button = new JButton(name);
49. add(button);
50.
51. //set button action
52.
53. button.addActionListener(new
54. ActionListener(){
55. public void actionPerformed(ActionEvent event){
56.
57. //button action :switch to the new look and feel
58. try{
59. UIManager.setLookAndFeel(plafName);
60. SwingUtilities.updateComponentTreeUI(PlafPanel.this);
61.
62. }
63. catch(Exception e){e.printStackTrace();}
64.
65. }
66.
67. });
68. }
69.
70.
71. }
发表评论
-
Java编程中“为了性能”尽量要做到的一些地方
2012-09-14 10:33 12211. 尽量在合适的场合使 ... -
Java 5.0多线程编程
2012-08-17 19:16 1064概述 1:三个新加的多线程包 2:C ... -
Thread.setDaemon设置说明
2012-06-28 18:00 1152Thread.setDaemon的用法,经过学习以后了解: ... -
JVM运行时数据区
2012-03-07 13:15 1005JVM定义了若干个程序执行期间使用的数据区域。这个区域里的一些 ... -
使用ibatis防止sql注入
2011-12-19 19:59 4660为了防止SQL注入,iBatis模糊查询时也要避免使用$$来进 ... -
java的引用探讨
2011-12-18 16:03 1125Reference 是一个抽象类,而 SoftReferenc ... -
ClassLoader
2011-11-04 15:11 1194package org.liufei.neta.lib; ... -
仿照Hibernate实现一个SQLite的ORM框架
2011-09-30 20:06 3196那么先来看看使用 实体对象 package test; ... -
java压缩文件
2011-09-20 11:09 1295package org.liufei.net.util; ... -
获取客户机IP地址
2011-09-07 15:04 1033package org.liufei.jweb; imp ... -
Java读取本地机器MAC地址
2011-09-07 15:01 1299package org.liufei.jweb; imp ... -
获取IP地址
2011-09-07 13:41 2422public String getIpAddrByReques ... -
用CSS来美化Java桌面--Javacss
2011-09-02 12:14 1329CSS可以用来修饰HTML网页。 但你有没有想过,使用CSS ... -
java管理windows进程
2011-08-29 17:34 1780package org.zzuli.xmsb; /** ... -
java html工具
2011-08-29 17:26 1085package org.liufei.jweb.util; ... -
java将汉字转化为全拼
2011-08-29 17:24 1233package org.liufei.jweb.util; ... -
开源项目SVN源码地址
2011-08-22 16:20 3554多优秀的开源项目已经提供SVN源码签出了,无论是解疑还是学习, ... -
XML解析
2011-08-22 09:58 10221、DOM解析XML <?xml version=&q ... -
jdbc操作大观园
2011-08-09 17:22 1385最近公司使用jdbc和mybatis比较多,于是自己试着写了一 ... -
Windows XP系统总命令集合
2011-08-05 14:08 1076Windows XP系统总命令集合 winver----- ...
相关推荐
在提供的文档"Swing观感切换.doc"中,很可能是详细介绍了如何在实际项目中实现Swing观感的切换,包括代码示例、注意事项和可能遇到的问题。阅读这份文档可以帮助你更好地理解和运用这些知识点,创建出更符合用户期望...
Java Swing默认提供了多种观感,如Metal、Windows、Nimbus等,但这些观感可能无法满足所有开发者或用户的个性化需求。因此,自定义观感成为了一个必要的技能。 自定义观感在Java Swing中主要通过实现`UIManager....
在Swing中实现中英切换是一项常见的需求,特别是在开发多语言应用时。Swing提供了强大的本地化(Localization)支持,允许开发者轻松地为应用程序添加多种语言。 在Swing中,中英切换主要通过资源包(Resource ...
java Swing多Jpanel仿安卓苹果桌面动态切换滑动效果
在"swing多个布局切换实例"中,我们主要关注CardLayout,它是用于在面板上切换多个视图的理想选择。 CardLayout允许你在同一空间内显示多个组件,每次只显示一个。你可以通过调用特定的方法来改变显示的组件,就像...
Swing透明切换是Java GUI开发中的一个重要特性,它允许开发者创建具有透明效果的组件,以实现更为美观且交互性更强的用户界面。在Java的Swing库中,这种功能主要通过`java.awt.Transparency`接口和`java.awt....
Java Swing 是Java平台上用于构建图形用户界面(GUI)的一个库,它是Java Foundation Classes (JFC)的一部分。在Java中,Swing提供了丰富的组件集,允许开发者创建美观且功能强大的桌面应用程序。"java+swing漂亮...
在Java的Swing库中,开发GUI应用程序时,我们经常需要处理多个窗口之间的交互和数据共享,这在实际应用中非常常见,例如在一个主窗口进行操作,然后更新其他子窗口的信息。本示例"swing多窗口联动的实现示例"就是...
Swing是Java GUI库的一部分,用于构建桌面应用程序。在某些情况下,用户可能会遇到“白屏”问题,这通常是由于Swing组件渲染不正确或者与Java运行时环境(JRE)的兼容性问题导致的。标题提到的“解决swing白屏问题的...
java Swing多Jpanel仿安卓苹果桌面动态切换滑动效果
swing-layout-1.0.3swing-layout-1.0.3swing-layout-1.0.3swing-layout-1.0.3swing-layout-1.0.3swing-layout-1.0.3swing-layout-1.0.3swing-layout-1.0.3swing-layout-1.0.3swing-layout-1.0.3swing-layout-1.0.3...
该资源是javax.swing 包中的类,使用该类的中方法实现面板的切换,是使用者能够清晰的明了的使用GUI程序
Swing 教程 Swing 简介 Swing 是 Java 的一个图形用户界面(GUI)工具包,用于创建跨平台的 GUI 应用程序。Swing 是 Java Foundation Classes(JFC)的一个组件,提供了大量的轻量级 GUI 组件,可以用来创建复杂的...
6. **JTabbedPane和JSplitPane**:JTabbedPane可以创建带有标签的页面,方便切换不同视图;JSplitPane则用于分割窗口,让用户可以调整两个区域的大小。 7. **对话框**:JOptionPane提供了一些预定义的对话框,如...
Java Swing 是Java GUI(图形用户界面)库的一部分,它提供了丰富的组件和工具,用于构建桌面应用程序。Swing 提供了一种可定制外观和感觉(LookAndFeel)的方法,使得开发者可以改变应用的视觉风格,以满足不同用户...
Swing计算器是一款基于Java Swing库开发的简单计算工具。Swing是Java的一种图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分,主要用于构建桌面应用程序。本项目的核心在于利用Swing组件来...