JAVA观感器

简介:

在JAVA的GUI开发中,Swing组件使用的是默认的皮肤,我们可以通过设置观感器来更改默认的皮肤。

如图所示,这就是JAVA默认观感器(XP系统)现实的效果。这一篇博客将通过示例代码为大家演示如何更改默认的观感器。

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JRadioButton;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JToggleButton;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.UIManager.LookAndFeelInfo;

/**
 * 观感器示例
 * 
 * @author jianggujin
 *
 */
public class LookAndFeelDemo extends JFrame implements ActionListener
{
   public LookAndFeelDemo()
   {
      super("SwingDemo");

      JMenuBar menuBar = new JMenuBar();
      JMenu skin = new JMenu("皮肤");
      // 获得所有已安装观感器
      LookAndFeelInfo[] lookAndFeelInfos = UIManager.getInstalledLookAndFeels();
      // 遍历观感器并添加菜单项
      for (LookAndFeelInfo lookAndFeelInfo : lookAndFeelInfos)
      {
         JMenuItem item = new JMenuItem(lookAndFeelInfo.getName());
         item.setActionCommand(lookAndFeelInfo.getClassName());
         item.addActionListener(this);
         skin.add(item);
      }
      menuBar.add(skin);
      setJMenuBar(menuBar);

      JPanel root = new JPanel();
      root.add(new JButton("我是JButton"));
      root.add(new JToggleButton("我是JToggleButton"));
      root.add(new JLabel("我是JLabel"));
      root.add(new JCheckBox("我是JCheckBox"));
      root.add(new JRadioButton("我是JRadioButton"));
      root.add(new JTextField("我是JTextField"));
      root.add(new JPasswordField("我是JPasswordField"));
      root.add(new JTextArea("我是JTextArea"));
      add(root);
      setSize(400, 300);
      setLocationRelativeTo(null);
      setDefaultCloseOperation(EXIT_ON_CLOSE);
      setVisible(true);
   }

   public static void main(String[] args)
   {
      new LookAndFeelDemo();
   }

   @Override
   public void actionPerformed(ActionEvent e)
   {
      JMenuItem item = (JMenuItem) e.getSource();
      try
      {
         UIManager.setLookAndFeel(item.getActionCommand());
         SwingUtilities.updateComponentTreeUI(this);
      }
      catch (Exception e2)
      {
         e2.printStackTrace();
      }

   }
}

运行效果:
这里写图片描述

目录
相关文章
|
消息中间件 缓存 NoSQL
Redis经典问题:缓存雪崩
本文介绍了Redis缓存雪崩问题及其解决方案。缓存雪崩是指大量缓存同一时间失效,导致请求涌入数据库,可能造成系统崩溃。解决方法包括:1) 使用Redis主从复制和哨兵机制提高高可用性;2) 结合本地ehcache缓存和Hystrix限流降级策略;3) 设置随机过期时间避免同一时刻大量缓存失效;4) 使用缓存标记策略,在标记失效时更新数据缓存;5) 实施多级缓存策略,如一级缓存失效时由二级缓存更新;6) 通过第三方插件如RocketMQ自动更新缓存。这些策略有助于保障系统的稳定运行。
1039 1
|
JSON Kubernetes Docker
k8s 集群中运行 docker registry 镜像仓库
k8s 集群中运行 docker registry 镜像仓库
1706 0
|
网络架构 网络协议
如何查看路由器的mac和计算机的mac
如何查看路由器的mac和计算机的mac 一、查看路由器的mac     方法一: 直接看路由器的背面,如下图,即可看到MAC地址   打开命令提示符窗口,输入ipconfig,找到网关地址,如192.168.1.1 3 再在命令提示符窗口中输入 arp -a 找到对应的ip地址 192.168.1.1 后的地址即为无线路由MAC地址     二、查看计算机的mac       cmd命令窗口中输入ipconfig/all命令即可查看。
3571 0
|
10月前
|
运维 Kubernetes 数据安全/隐私保护
K8S 拉取私有仓库镜像
在Kubernetes中从私有仓库拉取镜像时,需先创建包含认证信息的Secret,然后在Pod或Deployment中引用此Secret。本文通过具体步骤演示了如何创建Secret、更新Kubernetes资源配置文件以引用Secret,并验证了镜像拉取及应用运行的成功。
657 6
快速确定网络号的范围
该文介绍了如何通过子网掩码快速确定IP地址中的网络号,避免复杂计算。以IP地址192.168.1.10和子网掩码255.255.255.0为例,网络号是前三个字节(192.168.1),加上子网掩码中主机号部分的0(.0),得到网络号192.168.1.0。此外,文中还提供了IP地址与子网掩码的二进制转换方法。
271 6
|
Kubernetes 安全 API
Kubernetes系统安全-认证(Authentication)
文章主要介绍了Kubernetes系统中的安全认证机制,包括API服务器的访问控制、认证、授权策略和准入控制,以及如何使用kubeconfig文件和创建自定义用户与服务账号。
2493 0
Kubernetes系统安全-认证(Authentication)
|
存储 Linux Docker
在Docker中,本地的镜像文件都存放在哪里?
在Docker中,本地的镜像文件都存放在哪里?
|
数据采集 机器学习/深度学习 算法
Python实现LightGBM分类模型(LGBMClassifier算法)项目实战
Python实现LightGBM分类模型(LGBMClassifier算法)项目实战
|
弹性计算 Kubernetes 安全
基于 Traefik 的 Basic Auth 配置
基于 Traefik 的 Basic Auth 配置
|
存储 人工智能 监控
AI推理
AI推理
533 1

热门文章

最新文章