• 大小: 17KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-17
  • 语言: Java
  • 标签:

资源简介

使用Java制作多风格的窗口实例,可以在系统平台风格、Motif风格、跨平台风格这三种风格之间切换,每一种都各有特色,也可有效避免窗口可视化的呆板感觉,让人更喜欢你的软件。

资源截图

代码片段和文件信息

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//Download by http://www.codesc.net
//显示多种风格的窗口

public class LookAndFeelDemo extends Jframe {

   public LookAndFeelDemo(){
     super(“多种风格的窗口“);  //调用父类构造函数

     Container container=getContentPane();  //得到容器

 JMenu menuTheme=new JMenu(“窗口风格“);  //初始化菜单
     JMenuItem itemNative=new JMenuItem(“系统平台风格“);  //初始化菜单项
     JMenuItem itemMotif=new JMenuItem(“Motif风格“);
     JMenuItem itemmetal=new JMenuItem(“跨平台风格“);
     menuTheme.add(itemNative);  //增加菜单项
     menuTheme.add(itemMotif);
     menuTheme.add(itemmetal);
     itemNative.addActionListener(new ActionListener(){  //菜单项事件处理
      public void actionPerformed(ActionEvent event){
      changeLookAndFeel(“Native“);  //调用方法改变窗口风格
        }
     });
     itemMotif.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent event){
      changeLookAndFeel(“Motif“);
        }
     });
     itemmetal.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent event){
      changeLookAndFeel(“metal“);
        }
     });

     JMenuBar menuBar=new JMenuBar();  //初始化菜单栏
     menuBar.add(menuTheme);  //增加菜单到菜单栏
     setJMenuBar(menuBar);  //设置菜单

     JPanel panel=new JPanel();  //初始化一个JPanel
     panel.setBorder(BorderFactory.createtitledBorder(“组件样式“));  //设置边界
     panel.add(new JTextField(“文本框:Look and feel测试 “));  //增加组件到panel上
     panel.add(new JCheckBox(“粗体“));
     panel.add(new JCheckBox(“斜体“));
     panel.add(new JCheckBox(“下划线“));
     panel.add(new JButton(“确定“));
     panel.add(new JButton(“退出“));
     container.add(panel);  //增加panel到容器上

     setSize(220200);  //设置窗口尺寸
     setVisible(true);  //设置窗口可见
     setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);  //关闭窗口时退出程序
   }

   //改变窗口样式
   public void changeLookAndFeel(String type){
      try{
 if (type.equals(“Native“)) {  //判断来自于哪个菜单项
  UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());  //设置界面样式
 }
 else if (type.equals(“Motif“)) {
UIManager.setLookAndFeel(“com.sun.java.swing.plaf.motif.MotifLookAndFeel“);
 }
 else if (type.equals(“metal“)) {UIManager.setLookAndFeel(
UIManager.getCrossPlatformLookAndFeelClassName());
 }
 javax.swing.SwingUtilities.updateComponentTreeUI(this);  //更新界面
 }
 catch(Exception ex){  //捕捉错误
       ex.printStackTrace();  //输出错误
     }
   }

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

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     128754  2004-07-21 11:01  codesc.net\Java多种风格的窗口\15-1.bmp

     文件     128754  2004-07-21 11:01  codesc.net\Java多种风格的窗口\15-2.bmp

     文件     128754  2004-07-21 11:02  codesc.net\Java多种风格的窗口\15-3.bmp

     文件        561  2004-07-21 10:48  codesc.net\Java多种风格的窗口\LookAndFeelDemo$1.class

     文件        560  2004-07-21 10:48  codesc.net\Java多种风格的窗口\LookAndFeelDemo$2.class

     文件        560  2004-07-21 10:48  codesc.net\Java多种风格的窗口\LookAndFeelDemo$3.class

     文件       2578  2004-07-21 10:48  codesc.net\Java多种风格的窗口\LookAndFeelDemo.class

     文件       2729  2016-05-08 21:16  codesc.net\Java多种风格的窗口\LookAndFeelDemo.java

     目录          0  2016-05-08 21:14  codesc.net\Java多种风格的窗口

     目录          0  2016-05-08 21:15  codesc.net

----------- ---------  ---------- -----  ----

               393250                    10


评论

共有 条评论

相关资源