基于AWT、Swing的GUI程序 - 改变观感
来源:互联网 发布:三线表格及数据分析 编辑:程序博客网 时间:2024/06/06 16:35
本程序通用调用UIManager.getInstalledLookAndFeels()方法来获取本机已安装的所有观感,然后分别创建相应数量的Button,用来动态改变观感。
相关API :
static void
setLookAndFeel(LookAndFeel newLookAndFeel)
设置观感
static void
updateComponentTreeUI(Component c)
动态更新观感
执行效果:
代码:
static UIManager.LookAndFeelInfo[]
getInstalledLookAndFeels()
获取本机已安装的所有观感
执行效果:
代码:
package cn.youthol;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Main{/** * author bruce */public static void main(String[] args){EventQueue.invokeLater(new Runnable(){public void run(){MyFrame frame = new MyFrame("Change LookAndFeel");frame.setDefaultCloseOperation(MyFrame.EXIT_ON_CLOSE);frame.setVisible(true);}});}}/* * 框架窗口 */class MyFrame extends JFrame{private JPanel btnPanel;/* * 构造方法 */public MyFrame(String title){//设置标题super(title);//设置大小setSize(800,600);//创建按钮面板btnPanel = new JPanel();add(btnPanel);//创建ButtonLookAndFeel[] names = getAllLookAndFeels();for(LookAndFeel name : names){createButton(name.name,name.className);}}/* * 得到所有观感 * LookAndFeel是自定义的类,用来存储观感信息 */private LookAndFeel[] getAllLookAndFeels(){UIManager.LookAndFeelInfo[] infos = UIManager.getInstalledLookAndFeels();LookAndFeel[] lafs = new LookAndFeel[infos.length];for(int i = 0 ; i < lafs.length ; ++i){lafs[i] = new LookAndFeel();}for(int i = 0 ; i < lafs.length ; ++i){System.out.println(i);lafs[i].className = infos[i].getClassName();lafs[i].name = infos[i].getName();}return lafs;}/* * 创建Button */private void createButton(String name,final String UIName){JButton btn = new JButton(name);btnPanel.add(btn);//设置监听器btn.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){//改变观感try{UIManager.setLookAndFeel(UIName);SwingUtilities.updateComponentTreeUI(MyFrame.this);}catch(Exception ex){ex.printStackTrace();}}});}/* * 内部类LookAndFeel * 用来存储观感信息 */private class LookAndFeel{String className; //类名String name; //观感名}}
- 基于AWT、Swing的GUI程序 - 改变观感
- Java的GUI发展-AWT/SWT/Swing
- 基于GUI的AWT,Swing写的一个餐厅点菜系统
- Java应用swing改变观感
- 基于AWT、Swing的GUI编程 - 多个命令共享同一个监听器类
- Java改变程序观感
- 基于Swing的GUI客户端
- java中GUI的awt和Swing的知识点
- Java GUI:SWT/Swing/AWT的介绍及比较
- Java GUI编程中AWT/swing/SWT的优缺点
- Java GUI编程中AWT/swing/SWT的优缺点
- GUI开发之AWT、SWING、SWT和JFACE的比较
- 改变应用程序的观感
- Java Swing 变换观感小程序 Metal观感 Nimbus观感 Windows观感 Java核心技术
- 细说Java GUI:AWT,SWT,Swing
- 细说Java GUI:AWT,SWT,Swing
- 细说Java GUI:AWT,SWT,Swing
- 细说Java GUI:AWT,SWT,Swing
- 分布式搜索Elasticsearch——搜索(二)
- hdu 4288 Coder
- 压缩精灵——解压缩神器
- Error configuring application listener of class org.springframework.web.context.ContextLoaderListene
- 一次项目管理交流会总结
- 基于AWT、Swing的GUI程序 - 改变观感
- Android开发权限大全
- C语言 字符串指针初始化
- IPV4套接字地址结构
- AsyncQueryHandler 分析 缺陷
- poj3216 Repairing Company 二分图匹配、最小路径覆盖
- 通过show status 来优化MySQL数据库
- BaseServlet扩展了的HttpServlet,来实现减少Servlet数量
- 天猫新旺铺模板制作规范说明