/*这个程序主要更换JAVA的界面风格的
 * 后两个Mac,CTK风格要在相关的操作系统上才能实现
 */
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class JFrameButton extends JFrame implements ActionListener
{
    JButton windLook = new JButton("Windows 窗口");
    JButton unixLook = new JButton("Unix 窗口");
    JButton javaLook = new JButton("Java 窗口");
    JButton macLook = new JButton("Mac 窗口");
    JButton gtkLook = new JButton("GTK 窗口");
    JLabel label = new JLabel("选择界面的风格");
 public JFrameButton()
 {
  this.setLayout(new FlowLayout());
  this.add(label);
  this.add(windLook);
  windLook.addActionListener(this);
  this.add(unixLook);
  unixLook.addActionListener(this);
  this.add(javaLook);
  javaLook.addActionListener(this);
  this.add(macLook);
  macLook.addActionListener(this);
  this.add(gtkLook);
  gtkLook.addActionListener(this);

}

public void actionPerformed(ActionEvent e)
 {
  String look = "javax.swing.plaf.metal.MetalLookAndFeel";
  if(e.getSource()==javaLook)
   look = "javax.swing.plaf.metal.MetalLookAndFeel";
  else if(e.getSource()==windLook)
   look = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
  else if(e.getSource()==unixLook)
   look = "com.sun.java.swing.plaf.motif.MotifLookAndFeel";
  else if(e.getSource()==macLook)
   look = "com.sun.java.swing.plaf.mac.MacLookAndFeel";
  else if(e.getSource()==gtkLook)
   look = "com.sun.java.swing.plaf.gtk.GTKLookAndFeel";

try
  {
   UIManager.setLookAndFeel(look);
   SwingUtilities.updateComponentTreeUI(this);
  }
  catch(Exception ex)
  {
   System.out.println("Exception:"+ex); 
  }
 }
 public static void main(String[] args)
 {
  JFrameButton jwb = new JFrameButton();
  jwb.setTitle("界面风格设置");
  jwb.setLocationRelativeTo(null);//窗口居中显示
  jwb.setResizable(false);
  jwb.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  jwb.setSize(600,100);
  jwb.setVisible(true);
 }
}

程序运行的效果:

更换JAVA程序的界面风格的更多相关文章

  1. 【JAVA】SWING_ 界面风格

    在java中,界面外观的管理是由UIManager类来管理的.不同的系统上安装的外观不一样 ,默认的是java的跨平台外观. 1.获取系统所有外观 import javax.swing.*; impo ...

  2. JAVA与图形界面开发(Applet应用程序、AWT库、Swing)

    Applet 1)简单说,Applet就是嵌入到网页中的小程序,Java代码. 2)编写Applet程序,要继承JApplet类,并根据自己需要覆写相关方法(init.start.stop.destr ...

  3. Qt - 设置程序界面风格(现成的QMacStyle等等)

    类的继承关系: QMotifStyle:OSF(开放基金协会)开发的一个工业标准的GUI(图形用户接口): QCDEStyle:公共桌面环境(Common Desktop Environment)的缩 ...

  4. JAVA程序员面试宝典

    程序员面试之葵花宝典 面向对象的特征有哪些方面    1. 抽象:抽象就是忽略一个主题中与当前目标2. 无关的那些方面,3. 以便更充分地注意与当前目标4. 有关的方面.抽象并不5. 打算了解全部问题 ...

  5. Java程序员面试之葵花宝典

    程序员面试之葵花宝典 1.面向对象的特征有哪些方面   抽象:抽象就是忽略一个主题中与当前目标 无关的那些方面, 以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而 只是选择其中的一部 ...

  6. JAVA程序员工作常用英语(细心整理)

    基础----进阶 A. array数组accessible 可存取的 area面积audio 音频 addition 加法 action 行动 arithmetic 算法adjustment 调整 a ...

  7. 【计项02组01号】Java版图形界面计算器

    Java版图形界面计算器1.0版本 项目分析[1.0] 组成部分 代码结构 (1)窗口的创建 在<JDK 核心 API>中我们提到,创建一个窗口需要使用 JFrame 类.在本实验中,我们 ...

  8. Java程序员岗位

    Java程序员岗位面试题有哪些?   1.面向对象的特征有哪些方面(1)抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择 ...

  9. Java程序员转Android开发必读经验分享

    小编最近几日偷偷的发现部分Java程序员想转安卓开发,故此加紧补充知识,为大家搜集资料,积极整理前人的经验,希望可以给正处于困惑中的你,带来些许的帮助. 啰哩啰嗦的说说Java和Android程序的区 ...

随机推荐

  1. ES6-三点运算符

    首先理解一下函数总的arguments变量,这个变量是函数内部自动生成的,他用来保存传入函数的实参,是一个伪数组. 例: function fun(a,b){ console.log(argument ...

  2. netty(八)buffer源码学习3

    问题 : compositeByteBuf 是干什么和其他 compositeByteBuf 有何区别 内部实现 概述 compositeByteBuf 就像数据库中的视图,把几个表的字段组合在一起, ...

  3. 三星前有note7,现有GalaxyS10,爆炸原因外力?

    编辑 | 于斌 出品 | 于见(mpyujian) 提到三星,不知道大家什么感觉,反正首先映入脑海的是在Note 7系列爆炸中,三星就让中国消费者欲哭无泪的画面.而也正是三星的态度,三星手机在这件事情 ...

  4. python 创建虚拟环境:bat实现一键

    1.New a python project 2.cd %project.home%切换到项目根目录3.运行setup.bat创建venv虚拟环境 (注意内网运行setup.bat需要手动将requi ...

  5. 超长干货丨Kubernetes网络快速入门完全指南

    Kubernetes网络一直是一个非常复杂的主题.本文将介绍Kubernetes实际如何创建网络以及如何为Kubernetes集群设置网络. 本文不包括如何设置Kubernetes集群.这篇文章中的所 ...

  6. 为什么ISR4K、ASR1K等设备的QoS ACL没有显示计数?

    思科的ISR4K和ASR1K设备都是IOS XE的架构,它们和传统的IOS架构是不一样的. 以ISR4K为例,和一般的IOS(例如ISR G2)有所区别,他的转发更依赖硬件完成,针对NAT或QoS应用 ...

  7. Nexus-配置VDC

    1.配置资源模板This example shows how to configure a VDC resource template: vdc resource template TemplateA ...

  8. jdk动态代理和cglib动态代理底层实现原理详细解析(cglib动态代理篇)

    代理模式是一种很常见的模式,本文主要分析cglib动态代理的过程 1. 举例 使用cglib代理需要引入两个包,maven的话包引入如下 <!-- https://mvnrepository.c ...

  9. Notepad++查看文本文件的总的字符数、GBK字节数、UTF8字节数

    如果其编码是 小结:UTF-8编码下,一个汉字占3字节,GBK编码下,一个汉字占2字节:

  10. encypt dataset

    import getoptimport sysimport uuidimport hashlibimport csvdef getIds(totals,encrypt): seed=set() for ...