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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? configureoption.java

?? Gmail API for Java 一個(gè)gmail信箱的客戶端
?? JAVA
字號(hào):
package siuying.gm.app.gmailer4j.controller;

import java.util.logging.*;
import java.util.prefs.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

import com.Ostermiller.util.Browser;

import siuying.gm.app.gmailer4j.*;
import siuying.gm.app.gmailer4j.ui.*;

public class ConfigureOption
    implements ActionListener, ChangeListener {
  private JFrame parent;
  private GMOptionDialog dialog;
  private Preferences pref;
  private Logger logger = Logger.getLogger(ConfigureOption.class.getName());

  public ConfigureOption(JFrame parent, Preferences pref) {
    this.parent = parent;
    this.pref = pref;

    dialog = new GMOptionDialog(parent, "Option", true);

    /* setup action listeners */
    dialog.btnCancel.addActionListener(this);
    dialog.btnOK.addActionListener(this);
    dialog.chkUseProxy.addActionListener(this);
    dialog.tabbedPane.addChangeListener(this);
    dialog.chkAutoLogon.addActionListener(this);
    dialog.chkAutoMin.addActionListener(this);
    dialog.chkCheckMail.addActionListener(this);
    dialog.panelLAF.btnApply.addActionListener(this);

    loadOption();
  }

  /**
   * add additional action listeners controls
   */
  public void addActionListener(ActionListener l){
    dialog.chkUseProxy.addActionListener(l);
    dialog.chkAutoLogon.addActionListener(l);
    dialog.chkAutoMin.addActionListener(l);
    dialog.chkCheckMail.addActionListener(l);
    dialog.panelLAF.btnApply.addActionListener(l);
    dialog.btnCancel.addActionListener(l);
    dialog.btnOK.addActionListener(l);
  }

  public void applyLAF(){
    dialog.panelLAF.applySelectedLAF();
  }

  public String getSelectedLookAndFeelClassName(){
    return dialog.panelLAF.getSelectedLookAndFeelClassName();
  }

  public String getSelectedThemeClassName(){
    return dialog.panelLAF.getSelectedThemeClassName();
  }

  public void updateComponentTreeUI(){
    SwingUtilities.updateComponentTreeUI(dialog.panelLAF);
    SwingUtilities.updateComponentTreeUI(dialog.panelGeneral);
    SwingUtilities.updateComponentTreeUI(dialog.panelAccount);
    SwingUtilities.updateComponentTreeUI(dialog.panelConnection);
    SwingUtilities.updateComponentTreeUI(dialog.tabbedPane);
    SwingUtilities.updateComponentTreeUI(dialog.getContentPane());
    SwingUtilities.updateComponentTreeUI(dialog);

    dialog.pack();
  }

  private void loadOption(){
    // load preference
    dialog.txtUser.setText(pref.node("Accounts").get("username", "Username"));
    dialog.txtPassword.setText(pref.node("Accounts").get("password", ""));
    dialog.txtServer.setText(pref.node("Proxy").get("server", ""));
    dialog.txtPort.setText(pref.node("Proxy").get("port", ""));
    dialog.chkUseProxy.getModel().setSelected(pref.node("Proxy").getBoolean("enabled", false));
    dialog.chkAutoLogon.getModel().setSelected(pref.node("General").getBoolean("autolog", false));
    dialog.chkAutoMin.getModel().setSelected(pref.node("General").getBoolean("automin", false));
    dialog.chkCheckMail.getModel().setSelected(pref.node("General").getBoolean("checkmail", false));
    ((SpinnerNumberModel)dialog.spiMinutes.getModel()).setValue(new Integer(pref.node("General").getInt("checkinterval", 10)));

    String lookandfeel = pref.node("LAF").get("Look and Feel", null);
    String theme = pref.node("LAF").get("Theme", null);

    if (lookandfeel != null){
      // set look and feel etxt
      try {
        LookAndFeel laf = (LookAndFeel) Class.forName(
            lookandfeel).newInstance();
        dialog.panelLAF.setSelectedLookAndFeel( laf);
      }
      catch (Exception ex) {
      }
    }else{
      dialog.panelLAF.selectDefaultLAF();
    }

    if (theme != null){
      // set theme text
      try {
        dialog.panelLAF.setSelectedTheme( theme );
        logger.warning("LAF THEME: " + theme );
      }
      catch (Exception ex) {
        ex.printStackTrace();
        logger.warning("WARNING LAF THEME: " + theme + ", " + ex.getClass());
      }
    }else{
      dialog.panelLAF.selectDefaultTheme();
    }

    updateLogonSetting();
    updateChkProxySetting();
    updateChkPeriod();
  }

  private void saveOption(){
    Runnable task = new Runnable (){
      public void run(){
        // save preference
        pref.node("Accounts").put("username", dialog.txtUser.getText());
        pref.node("Accounts").put("password",
                                  new String(dialog.txtPassword.getPassword()));
        pref.node("Proxy").put("server", dialog.txtServer.getText());
        pref.node("Proxy").put("port", dialog.txtPort.getText());
        pref.node("Proxy").putBoolean("enabled",
                                      dialog.chkUseProxy.getModel().
                                      isSelected());
        pref.node("General").putBoolean("autolog",
                                        dialog.chkAutoLogon.getModel().
                                        isSelected());
        pref.node("General").putBoolean("automin",
                                        dialog.chkAutoMin.getModel().
                                        isSelected());
        pref.node("General").putBoolean("checkmail",
                                        dialog.chkCheckMail.getModel().
                                        isSelected());
        pref.node("General").putInt("checkinterval", ((Integer)((SpinnerNumberModel)dialog.spiMinutes.getModel()).getValue()).intValue());

        String selectedLAF = dialog.panelLAF.getSelectedLookAndFeelClassName();
        String selectedTheme = dialog.panelLAF.getSelectedThemeClassName();

        if (selectedLAF != null){
          pref.node("LAF").put("Look and Feel",
                               dialog.panelLAF.getSelectedLookAndFeelClassName());
        }else{
          pref.node("LAF").put("Look and Feel", "");
        }

        if (selectedTheme != null){
          pref.node("LAF").put("Theme",
                               dialog.panelLAF.getSelectedThemeClassName());
        }else{
          pref.node("LAF").put("Theme", "");
        }

        Browser.save(pref);
        
        try {
          pref.sync();
          pref.flush();
        }
        catch (Exception e) {
          // warn user
        }
      }
    };
    try{
        ThreadUtils.execute(task);
    }catch(InterruptedException ie){}
  }

  /**
   * Open the option pane, wait for user input
   */
  public void openDialog(){
    loadOption();

    /* centre the option pane */
    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    Dimension dialogSize = dialog.getSize();
    if (dialogSize.height > screenSize.height) {
      dialogSize.height = screenSize.height;
    }
    if (dialogSize.width > screenSize.width) {
      dialogSize.width = screenSize.width;
    }
    dialog.setLocation( (screenSize.width - dialogSize.width) / 2,
                             (screenSize.height - dialogSize.height) / 2);
    dialog.tabbedPane.setSelectedIndex(0);

    // show the option dialog
    dialog.show();
  }

  /**
   * actionPerformed
   *
   * @param e ActionEvent
   */
  public void actionPerformed(ActionEvent e) {
    // get the string of action command,
    // with intern() we can use == to compare string
    String command = e.getActionCommand().intern();

    if (command == "Use HTTP proxy") {
      // if the check box is clicked, update the enable status of the releted components
      updateChkProxySetting();
    }
    else if (command == "Option Cancel") {
      dialog.hide();
    }
    else if (command == "Option OK") {
      // check if logon setting filled in correctly
      if ( !checkLogonSetting() )
        return;

      // check if proxy setting filled in correctly
      if ( !checkProxySetting() )
        return;
      
      Browser.userOKedPanelChanges();
      
      // save data ...
      saveOption();

      // then hide
      dialog.hide();
    }else if (command == "Check Every"){
      updateChkPeriod();
    }else if (command == "Start Min"){

    }else if (command == "Check Every"){

    }
  }

  /**
   * stateChanged
   *
   * @param e ChangeEvent
   */
  public void stateChanged(ChangeEvent e) {
    if (e.getSource() instanceof JTabbedPane){
      int selected = ((JTabbedPane)e.getSource()).getSelectedIndex();

      // if not selecting "proxy" tab
      if (selected != 2){
        // check if proxy setting s missing
        checkProxySetting();
      }
    }
  }

  private boolean checkProxySetting(){
    // check if missing proxy info
    if (dialog.chkUseProxy.getModel().isSelected() &&
        (dialog.txtServer.getText().equals("") ||
           dialog.txtPort.getText().equals(""))) {
        // warn user must enter something
        Toolkit.getDefaultToolkit().beep();
        JOptionPane.showMessageDialog(dialog,
                                      "You must enter proxy server and port!",
                                      "Missing information",
                                      JOptionPane.WARNING_MESSAGE);

        // force showing proxy tab
        dialog.tabbedPane.setSelectedIndex(2);
        return false;
    }
    return true;
  }

  private void updateLogonSetting(){
    if ( dialog.txtPassword.equals("") ||
         dialog.txtUser.equals("Username")){
      JOptionPane.showMessageDialog(dialog,
                                    "Logon info is not entered, please enter it in Tools > Option > Account!",
                                    "Missing information",
                                    JOptionPane.WARNING_MESSAGE);
    }
  }

  private void updateChkProxySetting(){
      if (dialog.chkUseProxy.getModel().isSelected()) {
        // enable components related to proxy
        dialog.lblAddress.setEnabled(true);
        dialog.lblPort.setEnabled(true);
        dialog.txtServer.setEnabled(true);
        dialog.txtPort.setEnabled(true);
      }
      else {
        // disable components related to proxy
        dialog.lblAddress.setEnabled(false);
        dialog.lblPort.setEnabled(false);
        dialog.txtServer.setEnabled(false);
        dialog.txtPort.setEnabled(false);
      }
  }

  private void updateChkPeriod() {
    if (dialog.chkCheckMail.isSelected()) {
      dialog.spiMinutes.setEnabled(true);
      //dialog.lblMinutes.setEnabled(true);

    }
    else {
      dialog.spiMinutes.setEnabled(false);
      //dialog.lblMinutes.setEnabled(false);

    }
  }

  private boolean checkLogonSetting(){
    char[] password = dialog.txtPassword.getPassword();
    // check if missing proxy info
    if (password.length == 0 ||
        dialog.txtUser.getText().equals("")){
      Toolkit.getDefaultToolkit().beep();
      JOptionPane.showMessageDialog(dialog,
                                    "You must enter user name and password!",
                                    "Missing information",
                                    JOptionPane.WARNING_MESSAGE);
      dialog.tabbedPane.setSelectedIndex(1);
      return false;
    }
    return true;
  }

  public JDialog getDialog(){
    return dialog;
  }
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜臀av在线播放一区二区三区| 日韩国产欧美在线观看| 欧美性大战久久久久久久| 日韩成人午夜精品| 国产精品第13页| 日韩欧美精品在线| 91麻豆6部合集magnet| 久久国产乱子精品免费女| 日韩毛片视频在线看| 欧美成人精品福利| 色哟哟国产精品免费观看| 国产麻豆精品95视频| 日韩激情一二三区| 亚洲免费观看视频| 国产欧美一区二区三区沐欲| 欧美一区二区啪啪| 欧美三级日韩在线| 色综合视频一区二区三区高清| 国产麻豆一精品一av一免费| 欧美aⅴ一区二区三区视频| 一区二区三区av电影| 国产精品国产a| 久久先锋影音av鲁色资源| 日韩欧美在线123| 欧美日韩精品一区二区天天拍小说| 99精品国产一区二区三区不卡 | 视频在线观看91| 亚洲欧美日韩一区| 国产精品久久久久久亚洲毛片 | 蜜臀av一区二区三区| 亚洲制服欧美中文字幕中文字幕| 欧美国产一区在线| 国产亚洲欧洲997久久综合| 精品少妇一区二区| 日韩欧美在线1卡| 精品欧美一区二区久久| 精品日韩99亚洲| 日韩女优制服丝袜电影| 日韩视频免费观看高清在线视频| 欧美日韩不卡在线| 欧美日本视频在线| 51精品国自产在线| 欧美一区二区人人喊爽| 日韩三级av在线播放| 久久综合狠狠综合久久综合88| 精品少妇一区二区三区免费观看| 亚洲精品在线观| 久久精品人人做人人爽人人| 国产欧美精品一区二区色综合| 久久久久国产精品麻豆| 国产亚洲综合在线| 国产精品久久久久久久久久久免费看 | 国产裸体歌舞团一区二区| 激情五月播播久久久精品| 韩国女主播一区| 成人午夜又粗又硬又大| 97se亚洲国产综合自在线| 欧美mv日韩mv国产网站app| 久久久.com| 国产精品精品国产色婷婷| 亚洲男人天堂一区| 亚洲第一电影网| 日韩精品欧美精品| 国产精品中文有码| 95精品视频在线| 欧洲视频一区二区| 日韩一区二区在线看| 久久久久久久久久久黄色| 亚洲精品高清视频在线观看| 视频一区视频二区中文字幕| 国模一区二区三区白浆| 91在线视频18| 8v天堂国产在线一区二区| 欧美经典一区二区| 亚洲成人激情社区| 国产激情精品久久久第一区二区| 色婷婷综合久久久久中文一区二区| 欧美日韩国产成人在线免费| 久久精品视频一区| 亚洲h在线观看| 国产激情一区二区三区| 欧洲视频一区二区| 国产区在线观看成人精品| 夜夜嗨av一区二区三区中文字幕| 久久精品72免费观看| 99精品视频一区二区三区| 欧美电影免费观看完整版 | 日日夜夜精品视频免费| 国产精品主播直播| 欧美三片在线视频观看 | 日韩vs国产vs欧美| 99视频一区二区| 日韩区在线观看| 亚洲午夜一二三区视频| 国产成人aaa| 91精品国产免费久久综合| 国产精品白丝在线| 老司机免费视频一区二区| 99re视频精品| 久久久久久久综合狠狠综合| 亚洲第一主播视频| 99国内精品久久| 久久色.com| 日本欧美一区二区三区乱码| 色婷婷久久久综合中文字幕| 久久免费偷拍视频| 奇米一区二区三区| 欧美日韩一区不卡| 亚洲欧美日韩国产成人精品影院| 激情成人午夜视频| 欧美一区三区二区| 亚洲制服丝袜在线| 色综合婷婷久久| 欧美激情在线一区二区| 美女一区二区在线观看| 欧美性猛片aaaaaaa做受| 国产精品日产欧美久久久久| 麻豆精品在线观看| 911精品产国品一二三产区| 一区二区三区在线播| a4yy欧美一区二区三区| www欧美成人18+| 久久9热精品视频| 日韩美女在线视频| 美国十次综合导航| 日韩女优视频免费观看| 色域天天综合网| 最新日韩av在线| av成人动漫在线观看| 国产精品麻豆久久久| 成人午夜激情在线| 中文字幕免费不卡| 不卡的av网站| 中文字幕一区二区三区不卡在线| 成人自拍视频在线观看| 欧美国产日韩亚洲一区| 国产成a人无v码亚洲福利| 国产欧美综合在线| 不卡的av中国片| 一区二区三区欧美在线观看| 色94色欧美sute亚洲线路二| 亚洲精品国久久99热| 在线视频国产一区| 亚洲国产另类av| 91精品免费在线| 精品一区二区三区欧美| 精品999久久久| 丁香婷婷综合色啪| 国产精品久久久久久户外露出| 99久免费精品视频在线观看| 亚洲男人的天堂在线观看| 在线观看网站黄不卡| 亚洲一区二区三区自拍| 欧美视频在线观看一区| 日韩精品电影一区亚洲| 精品处破学生在线二十三| 国产69精品久久久久毛片| 亚洲人成在线播放网站岛国| 一本一道久久a久久精品| 亚洲一区二三区| 精品日本一线二线三线不卡| 国产成人免费9x9x人网站视频| 中文字幕在线不卡| 欧美日韩国产片| 紧缚奴在线一区二区三区| 国产精品成人免费| 欧美久久一区二区| 国产精品一区二区91| 亚洲精品日韩一| 日韩欧美国产三级| 成人av综合一区| 亚洲成av人片在www色猫咪| 精品国产污网站| 91视频免费播放| 美日韩一区二区三区| 日本一区二区久久| 91精品国产综合久久精品图片 | 国产精品美女久久久久久2018| 色综合一个色综合亚洲| 久久精品久久99精品久久| 国产精品乱码久久久久久| 538在线一区二区精品国产| 懂色av噜噜一区二区三区av| 婷婷夜色潮精品综合在线| 久久精品免视看| 91精品国产欧美日韩| 91网站视频在线观看| 青娱乐精品视频| 成人欧美一区二区三区小说| 欧美一级在线免费| 91在线国产福利| 日本不卡一区二区| 亚洲欧美另类图片小说| 日韩美女视频在线| 91免费版pro下载短视频| 激情欧美一区二区| 五月天精品一区二区三区| 国产精品高清亚洲| 久久亚洲综合色一区二区三区| 欧美午夜影院一区|