国产探花免费观看_亚洲丰满少妇自慰呻吟_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);
  }
 }



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 连城县| 定南县| 安泽县| 永德县| 周口市| 大英县| 呼和浩特市| 芮城县| 舞钢市| 怀柔区| 稷山县| 瑞昌市| 舒城县| 胶南市| 安新县| 南投市| 荆州市| 双辽市| 马公市| 荔浦县| 文成县| 灵石县| 郎溪县| 龙南县| 济宁市| 平安县| 嘉祥县| 鹿邑县| 平邑县| 凤山县| 县级市| 大同县| 霸州市| 工布江达县| 上犹县| 德保县| 晋宁县| 堆龙德庆县| 怀集县| 类乌齐县| 库伦旗|