国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

一個封裝了Java改變LookAndFeel的JAVA菜單,可直接在可視化編輯拖拉(原創)

2019-11-18 11:34:54
字體:
來源:轉載
供稿:網友

package com.qiu.demo;

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

/**
 * 一個封裝了LookAndFeel子菜單 可用于改變組件的LookAndFeel 這些LookAndFeel是JRE自帶的 LookAndFeel
 * 這些組件必須與一個父組件的相 關聯,才可更新LookAndFeel
 *
 * @author QIU_BaiChao
 */
public class JLookAndFeelMenu extends JMenu {
 /**
  * 默認的菜單名
  */
 PRivate static final String defaultMenuName = "LookAndFeel";

 /**
  * 得到系統的安裝的所有LookAndFeel
  */
 UIManager.LookAndFeelInfo[] info = UIManager.getInstalledLookAndFeels();

 /**
  * 按鈕組,將一組LookAndFeel的單選按鈕放在里面
  */
 ButtonGroup buttonGroup = new ButtonGroup();

 /**
  * 父組件,更新LookAndFeel只能更新
  * 在同一個父組件的LookAndFeel
  */
 Component parent;

 /**
  * 構造函數
  *
  * @param menuName
  *            菜單名
  * @param parrent
  *            父組件,將在同一個父組
  *            件容器的所有Component更新LookAndFeel
  */
 public JLookAndFeelMenu(String menuName, final Component parent) {
  // 生成各個可以選擇LookAndFeel的單選按鈕子菜單
  // generateLookAndFeelSubMenu(parent);
  setParentComponent(parent);
  // 設置菜單名
  this.setText(menuName);
 }

 /**
  * 構造函數 使用默認的菜單名:LookAndFeel
  *
  * @param parent
  *            父組件,將在同一個父組件容器的
  *            所有Component更新LookAndFeel
  */
 public JLookAndFeelMenu(Component parent) {
  this(defaultMenuName, parent);
 }

 /**
  * 默認構造函數 使用默認的菜單名,
  * 還需設置父組件方法
  * 調用setParentComponent(Component parent)方法
  */
 public JLookAndFeelMenu() {
  super(defaultMenuName);
 }

 /**
  * 生成LookAndFeel的單選子菜單
  *
  * @param parent
  */
 private void generateLookAndFeelSubMenu(final Component parent) {
  for (int i = 0; i < info.length; i++) {
   JRadioButtonMenuItem item = new JRadioButtonMenuItem(info[i]
     .getName(), i == 0);
   final String className = info[i].getClassName();
   // 增加事件處理
   item.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent evn) {
     try {
      UIManager.setLookAndFeel(className);
     } catch (Exception e) {
      e.printStackTrace();
     }
     // 更新組件的LookAndFeel
     SwingUtilities.updateComponentTreeUI(parent);
    }
   });
   buttonGroup.add(item);
   add(item);
  }
 }



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 定安县| 新龙县| 惠安县| 阿克| 白沙| 双鸭山市| 托克逊县| 隆尧县| 和顺县| 麻栗坡县| 乌鲁木齐市| 安泽县| 北宁市| 清河县| 大邑县| 来凤县| 尤溪县| 永仁县| 故城县| 南澳县| 北流市| 石家庄市| 莆田市| 鄂州市| 拉萨市| 广汉市| 赣州市| 密山市| 剑阁县| 祁阳县| 保康县| 视频| 贵港市| 林西县| 珠海市| 大英县| 忻城县| 石狮市| 宜春市| 都安| 宁乡县|