亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lafpanel.java

?? Gmail API for Java 一個gmail信箱的客戶端
?? JAVA
字號:
package siuying.gm.app.gmailer4j.ui;

import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
import com.jgoodies.plaf.*;
import java.util.List;
import java.util.*;
import java.util.logging.*;
import java.awt.event.*;
import javax.swing.event.ListSelectionListener;
import javax.swing.event.ListSelectionEvent;
import javax.swing.plaf.metal.MetalTheme;
import siuying.gm.app.gmailer4j.ThreadUtils;

/**
 * A Look and Feel Chooser Component
 */
public class LAFPanel
    extends JPanel {
  private DefaultListModel lookAndFeelListModel;
  public JButton btnApply = new JButton("Apply");
  private Logger logger = Logger.getLogger(LAFPanel.class.getName());
  private TreeMap lookAndFeelClassList;
  private List installedThemes;
  private Vector installedThemesName;
  private ActionListener action;
  private ListSelectionListener selectListener;

  private JPanel panelCombo;
  private JPanel panelButtons;

  private FlowLayout flowLayout2 = new FlowLayout();
  private BorderLayout borderLayout1 = new BorderLayout();
  private Frame root;
  private JList listLookAndFeel = new JList();
  private JList listTheme = new JList();

  private GridLayout gridLayout1 = new GridLayout();
  private Border border1;
  private Border border2;
  private Border border3;
  private Border border4;
  private TitledBorder titledBorder1;
  private Border border5;
  private TitledBorder titledBorder2;
  private Border border6;
  private JPanel jPanel1 = new JPanel();
  private JScrollPane jScrollPane1 = new JScrollPane();
  private BorderLayout borderLayout2 = new BorderLayout();
  private Border border7;
  private JPanel jPanel2 = new JPanel();
  private BorderLayout borderLayout3 = new BorderLayout();
  private JScrollPane jScrollPane2 = new JScrollPane();
  private Border border8;


  public LAFPanel(Frame root) {
    super();
    lookAndFeelListModel = new DefaultListModel();
    listLookAndFeel = new JList(lookAndFeelListModel);
    lookAndFeelClassList = new TreeMap();
    installedThemes = new ArrayList();

    this.root = root;

    init();

    try {
      jbInit();
      validate();
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }

    initActions();
  }

  public void applySelectedLAF(){
    String selected = getSelectedLookAndFeelClassName();
    String selectedTheme = getSelectedThemeClassName();
    if (selected == null) {
      return;
    }

    // apply look and feel
    try {
      if (selectedTheme != null) {
        LookUtils.setLookAndTheme( (LookAndFeel) Class.forName(selected).
                                  newInstance(),
                                  Class.forName(selectedTheme).
                                  newInstance());
      }

      UIManager.setLookAndFeel(selected);
    }
    catch (Exception ex) {
      ex.printStackTrace();
      logger.info("Failed setting laf ... " + ex.getClass());
    }
  }

  private void initActions() {
    selectListener = new ListSelectionListener(){
      public void valueChanged(ListSelectionEvent e) {
        if (e.getSource().equals(listLookAndFeel)){
          selectedLAF(e.getFirstIndex());
        }
      }
    };

    listLookAndFeel.addListSelectionListener(selectListener);
    listTheme.addListSelectionListener(selectListener);
  }

  public void refreshTheme(){
    String className = this.getSelectedLookAndFeelClassName();
    // generate list of avaliable themes for JGoodies LAF
    LookAndFeel laf = null;
    try {
      laf = (LookAndFeel) Class.forName(className).newInstance();

      installedThemes = LookUtils.getInstalledThemes(laf);
      installedThemesName.clear();

      for (int i = 0; i < installedThemes.size(); i++) {
        try {
          installedThemesName.add( ( (javax.swing.plaf.metal.MetalTheme)
                                    installedThemes.get(i)).getName());
        }
        catch (Exception e) {}
      }

      listTheme.setListData(installedThemesName);
    }
    catch (ClassNotFoundException ex) {
    }
    catch (IllegalAccessException ex) {
    }
    catch (InstantiationException ex) {
    }
  }

  public void selectDefaultLAF(){
    LookAndFeel laf = null;
    try {
      laf = (LookAndFeel) Class.forName(UIManager.
                                          getSystemLookAndFeelClassName()).
            newInstance();
      setSelectedLookAndFeel(laf);
    }
    catch (ClassNotFoundException ex) {
    }
    catch (IllegalAccessException ex) {
    }
    catch (InstantiationException ex) {
    }
  }

  public void selectDefaultTheme(){
    // generate list of avaliable themes for JGoodies LAF
    LookAndFeel laf = null;
    try {
      String name = getSelectedLookAndFeelClassName();
      if (name == null){
        return;
      }else{
        laf = (LookAndFeel)Class.forName(name).newInstance();
      }


      // select default theme
      MetalTheme defaultTheme = (MetalTheme) LookUtils.getDefaultTheme(laf);
      for (int i = 0; i < installedThemesName.size(); i++) {
        if (defaultTheme.getName().equals( (String) installedThemesName.get(i))) {
          listTheme.setSelectedIndex(i);
          break;
        }
      }
    }
    catch (ClassNotFoundException ex) {
    }
    catch (IllegalAccessException ex) {
    }
    catch (InstantiationException ex) {
    }

  }

  private void selectedLAF(int selectedIndex){
    String className = this.getSelectedLookAndFeelClassName();
    try{
      LookAndFeel laf = (LookAndFeel) Class.forName(className).newInstance();

      // refresh look and feel theme
      refreshTheme();

    }catch(Exception e){
      logger.warning("Error check LAF: " + e.getClass());
    }
  }

  private void jbInit() {
    panelCombo = new JPanel();
    panelButtons = new JPanel();

    btnApply = new JButton("Apply");

    border1 = BorderFactory.createEmptyBorder(10, 10, 10, 10);
    border2 = new TitledBorder(BorderFactory.createEtchedBorder(Color.white,
        new Color(178, 178, 178)), "");
    border3 = BorderFactory.createEtchedBorder(Color.white,
                                               new Color(178, 178, 178));
    border4 = BorderFactory.createEmptyBorder();
    titledBorder1 = new TitledBorder(border4, "Look and Feel");
    border5 = BorderFactory.createEmptyBorder();
    titledBorder2 = new TitledBorder(BorderFactory.createEmptyBorder(),"Color Theme");
    border6 = BorderFactory.createEtchedBorder(Color.white,new Color(178, 178, 178));
    border7 = BorderFactory.createEtchedBorder(Color.white,new Color(165, 163, 151));
    border8 = BorderFactory.createEtchedBorder(Color.white,new Color(165, 163, 151));
    btnApply.setActionCommand("LAF Apply");

    flowLayout2.setAlignment(FlowLayout.RIGHT);

    this.setLayout(borderLayout1);
    panelCombo.setLayout(gridLayout1);
    panelButtons.setLayout(flowLayout2);

    gridLayout1.setHgap(5);
    gridLayout1.setVgap(0);
    panelCombo.setBorder(border1);
    listLookAndFeel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    listLookAndFeel.setVisibleRowCount(5);
    listLookAndFeel.setEnabled(true);
    listLookAndFeel.setDoubleBuffered(true);
    listLookAndFeel.setFixedCellWidth(150);
    jScrollPane1.setBorder(border7);
    jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
    jPanel1.setLayout(borderLayout2);
    jPanel1.setBorder(titledBorder1);
    jPanel2.setLayout(borderLayout3);
    jPanel2.setBorder(titledBorder2);
    listTheme.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    listTheme.setVisibleRowCount(5);
    listTheme.setBorder(null);
    listTheme.setDoubleBuffered(true);
    listTheme.setFixedCellWidth(150);
    jScrollPane2.setBorder(border8);
    jScrollPane2.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
    panelCombo.add(jPanel1, null);
    jPanel1.add(jScrollPane1, BorderLayout.CENTER);
    jScrollPane1.getViewport().add(listLookAndFeel, null);
    panelCombo.add(jPanel2, null);
    jPanel2.add(jScrollPane2,  BorderLayout.CENTER);
    jScrollPane2.getViewport().add(listTheme, null);

    panelButtons.add(btnApply);

    this.add(panelCombo, BorderLayout.CENTER);
    this.add(panelButtons, BorderLayout.SOUTH);
  }

  private void init() {
    UIManager.put("ClassLoader", LookUtils.class.getClassLoader());

    // add JGoodies Looks Look and feels
    try {
      UIManager.installLookAndFeel("JGoodies Windows",
          "com.jgoodies.plaf.windows.ExtWindowsLookAndFeel");
      UIManager.installLookAndFeel("JGoodies Plastic",
          "com.jgoodies.plaf.plastic.PlasticLookAndFeel");
      UIManager.installLookAndFeel("JGoodies Plastic 3D",
          "com.jgoodies.plaf.plastic.Plastic3DLookAndFeel");
      if (LookUtils.IS_OS_WINDOWS_XP) {
        UIManager.installLookAndFeel("JGoodies Plastic XP",
            "com.jgoodies.plaf.plastic.PlasticXPLookAndFeel");
      }
    }
    catch (Exception e) {
    }

    lookAndFeelListModel.removeAllElements();

    UIManager.LookAndFeelInfo[] info = UIManager.getInstalledLookAndFeels();

    for (int i = 0; i < info.length; i++) {
      lookAndFeelClassList.put(info[i].getName(), info[i].getClassName());
      lookAndFeelListModel.addElement(info[i].getName());
    }
    logger.info("Avaliable LAF: " + lookAndFeelClassList);

    installedThemesName = new Vector();
  }

  public String getSelectedThemeClassName(){
    String name = null;
    try{
      if (listTheme.getSelectedIndex() > -1){
        name = ( (MetalTheme) installedThemes.get(listTheme.getSelectedIndex())).
            getClass().getName();
      }
    }catch(Exception e){
      e.printStackTrace();
    }
    return name;
  }

  public String getSelectedLookAndFeelClassName() {
    String selected = (String) listLookAndFeel.getSelectedValue();
    if (selected == null){
      return null;
    }else{
      return (String) getLookAndFeelClassName(selected);
    }
  }

  public void setSelectedLookAndFeel(LookAndFeel laf){
    for (int i=0; i<listLookAndFeel.getModel().getSize(); i++){
      String name = (String)listLookAndFeel.getModel().getElementAt(i);
      if (laf.getName().equals(name)){
        listLookAndFeel.setSelectedIndex(i);
        selectedLAF(i);
        break;
      }
    }
  }

  public void setSelectedTheme(String theme){
    for(int i=0; i<installedThemesName.size(); i++){
      try{
        MetalTheme objtheme = ( (MetalTheme) installedThemes.get(i));
        String subTheme = objtheme.getClass().getName();
        if (theme.equals(subTheme)) {
          listTheme.setSelectedIndex(i);
          break;
        }
      }catch(Exception e){}
    }
  }

  /**
   * return a look and feel panel that default selected the specified look
   * and feel
   * If the laf does not exist or is null, system look and feel is selected
   */
  public static LAFPanel LAFPanelFactory(JFrame root,
                                         String selectedLookAndFeel) {
    LAFPanel panel = new LAFPanel(root);

    String defaultlaf = panel.getLookAndFeelClassName(selectedLookAndFeel);

    if (defaultlaf == null) {
      // select default look and feel if it is null
      defaultlaf = UIManager.getSystemLookAndFeelClassName();
    }

    return panel;
  }

  private String getLookAndFeelClassName(String lookAndFeelName) {
    return (String) lookAndFeelClassList.get(lookAndFeelName);
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本色道亚洲精品aⅴ| 久久伊人蜜桃av一区二区| 欧美精品九九99久久| 2020日本不卡一区二区视频| 亚洲三级在线看| 另类成人小视频在线| 欧美性极品少妇| 中文无字幕一区二区三区| 日一区二区三区| 在线亚洲免费视频| 国产午夜精品久久| 蜜桃久久久久久| 欧美三级电影在线看| 国产精品看片你懂得| 国产精品亚洲一区二区三区在线| 欧美丰满少妇xxxbbb| 国产精品系列在线| 国产精品综合视频| 精品久久人人做人人爽| 日韩精品国产精品| 欧美日韩高清一区二区| 亚洲久草在线视频| 99热这里都是精品| 国产精品视频线看| 成人免费黄色在线| 日本一区二区免费在线| 国产一区二区视频在线| 精品精品国产高清a毛片牛牛| 日韩中文字幕91| 精品视频一区二区三区免费| 亚洲高清一区二区三区| 日本精品一区二区三区四区的功能| 中文字幕免费观看一区| 成人免费看视频| 中文字幕欧美一区| 色综合天天做天天爱| 亚洲精品少妇30p| 色欧美乱欧美15图片| 亚洲欧洲性图库| www.色精品| 一区二区中文字幕在线| 在线观看亚洲一区| 亚洲一区二区三区免费视频| 欧美视频完全免费看| 婷婷国产在线综合| 日韩一二三区视频| 国产一区视频网站| 国产精品久久久久影视| 99re热视频精品| 五月激情六月综合| 精品国产一区二区在线观看| 国产成人精品综合在线观看| 亚洲欧洲精品成人久久奇米网 | 另类综合日韩欧美亚洲| www国产成人| 91在线看国产| 午夜免费久久看| 欧美va亚洲va国产综合| 国产69精品久久久久777| 亚洲男人的天堂在线观看| 欧美日韩一区二区三区视频| 久久成人麻豆午夜电影| 亚洲欧美在线视频观看| 在线电影国产精品| 国产成人在线视频网址| 亚洲狼人国产精品| 精品国产sm最大网站免费看 | 久久精品国产99国产| 国产精品久久午夜| 欧美色爱综合网| 99久久国产综合精品色伊| 一区二区三区免费看视频| 欧美一区二区三区在线观看| www.日本不卡| 另类欧美日韩国产在线| 一区二区三区日韩欧美| 久久久久久久久久久久久久久99| 色成人在线视频| 国产综合成人久久大片91| 一区二区三区加勒比av| 久久久久久久一区| 欧美高清精品3d| 色婷婷狠狠综合| 韩国v欧美v日本v亚洲v| 亚洲成人在线观看视频| 亚洲欧洲成人精品av97| 精品国产乱码久久久久久1区2区 | 在线视频你懂得一区| 国产精品一区不卡| 肉丝袜脚交视频一区二区| 国产精品青草综合久久久久99| 91精品国产综合久久久久久久久久| 成人午夜电影网站| 激情国产一区二区| 日日嗨av一区二区三区四区| 国产精品不卡在线观看| 精品精品欲导航| 欧美日韩在线电影| 99re成人精品视频| 成人中文字幕在线| 激情久久五月天| 看国产成人h片视频| 天天做天天摸天天爽国产一区 | 国产欧美一区二区精品仙草咪| 在线免费观看日韩欧美| 成人高清伦理免费影院在线观看| 麻豆国产91在线播放| 青草国产精品久久久久久| 亚洲高清免费观看高清完整版在线观看| 国产视频一区在线播放| 精品国产1区二区| 日韩一级大片在线观看| 欧美一区二区三区在线视频| 7777精品伊人久久久大香线蕉 | 黄页视频在线91| 午夜av一区二区| 亚洲一级二级三级在线免费观看| 国产精品美女一区二区三区| 国产欧美一区二区精品性色 | 成人午夜私人影院| 国产成人8x视频一区二区| 久久精品久久精品| 激情综合色综合久久综合| 狠狠色伊人亚洲综合成人| 国产一区二区毛片| 成人性生交大片免费看中文网站 | 精品一区二区三区蜜桃| 韩国成人福利片在线播放| 国产一区视频导航| 国产99精品视频| 成人国产在线观看| 91免费看`日韩一区二区| 色综合色综合色综合| 欧美视频精品在线观看| 日韩视频在线永久播放| 精品国产免费人成在线观看| 国产偷国产偷亚洲高清人白洁| 国产精品久久一卡二卡| 亚洲国产一二三| 久久99深爱久久99精品| 丰满亚洲少妇av| 91美女片黄在线观看91美女| 欧美日韩午夜精品| 日韩欧美在线123| 欧美高清在线视频| 亚洲自拍偷拍网站| 久久国产麻豆精品| 成a人片亚洲日本久久| 91啪亚洲精品| 欧美电视剧免费观看| 久久久av毛片精品| 有码一区二区三区| 精彩视频一区二区三区| 欧美高清一级片在线| 久久久蜜桃精品| 亚洲人成精品久久久久久| 首页国产丝袜综合| 成人毛片在线观看| 欧美一卡二卡在线观看| 中文子幕无线码一区tr| 日韩成人午夜精品| 国产精品一区在线| 欧美精品vⅰdeose4hd| 亚洲国产激情av| 免费精品视频在线| 91影院在线观看| 久久综合色之久久综合| 亚洲一级不卡视频| 国产大片一区二区| 在线观看91av| 一区二区三区中文在线| 国精产品一区一区三区mba桃花 | 精品久久久久久久久久久久久久久| 中文字幕在线不卡| 精品一区二区av| 欧美精三区欧美精三区| 国产精品福利一区| 激情小说欧美图片| 制服.丝袜.亚洲.另类.中文 | 欧美男生操女生| 亚洲色图第一区| 国产精品一级片在线观看| 欧美一区二区在线观看| 樱花草国产18久久久久| 99精品欧美一区二区三区小说 | 国产精品一区不卡| 日韩午夜激情免费电影| 午夜私人影院久久久久| 91福利国产成人精品照片| 中文字幕乱码亚洲精品一区| 国产尤物一区二区在线| 欧美一区二区免费观在线| 亚洲永久免费av| 色综合久久中文字幕综合网| 国产精品久久久久aaaa樱花 | 精品影院一区二区久久久| 91.麻豆视频| 五月婷婷久久综合| 欧美日韩亚洲综合一区二区三区| 亚洲一区二区视频|