Package com.everbox4j.ui

Source Code of com.everbox4j.ui.EverboxManager

package com.everbox4j.ui;

import java.awt.BorderLayout;
import java.awt.Desktop;
import java.awt.EventQueue;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.io.FileOutputStream;
import java.net.URL;
import java.util.Properties;

import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.SpringLayout;

import org.nutz.lang.Strings;
import org.nutz.log.Log;
import org.nutz.log.Logs;

import com.everbox4j.EverboxAPI;
import com.everbox4j.EverboxClient;
import com.everbox4j.EverboxConfig;

/**
*
* @author wendal
*/
public class EverboxManager {
 
  private static final Log log = Logs.get();

  private JFrame frmEverbox;
  private JTextField usernameField;
  private JPasswordField passwordField;
  private JTextField proxyPortField;
  private JTextField proxyHostField;
  private JTextField rootpathField;
  private JTextField uploadMaxsizeField;
  private JTextField downloadLimitField;
  private JTextField uploadMinsizeField;
  private JTextField uploadIgnoreSuffixField;
  private JTextField downloadIgnoreSuffixField;
  private JTextField downloadMinsizeField;
  private JTextField uploadLimitField;
  private JTextField downloadMaxsizeField;
  private JTextField uploadIgnorePath;
  private JTextField downloadIgnorePath;
 
  private EverboxClient client;
  private Thread clientThread;
  private JButton startClientButton;
  private JButton stopClientButton;
  private JCheckBox uploadIgnoreHiddenBox;
  private JCheckBox uploadEnableBox;
  private JCheckBox downloadEnableBox;

  /**
   * Launch the application.
   */
  public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
      public void run() {
        try {
          EverboxManager window = new EverboxManager();
          window.client = new EverboxClient();
          window.clientThread = new Thread(window.client);
          window.frmEverbox.setVisible(true);
          window.client.run = false;
        } catch (Throwable e) {
          log.error("运行出错!!", e);
        }
      }
    });
  }

  /**
   * Create the application.
   */
  public EverboxManager() {
    initialize();
    resetConfig();
    frmEverbox.addWindowListener(new WindowAdapter() {
      @Override
      public void windowClosing(WindowEvent e) {
        if(stopClientButton.isEnabled()) {
          JOptionPane.showConfirmDialog(frmEverbox, "客户端仍在运行,请先按停止按钮");
        } else {
          if(JOptionPane.OK_OPTION == JOptionPane.showConfirmDialog(frmEverbox, "确定要退出?")){
            frmEverbox.dispose();
          }
        }
      }
    });
  }
 
  public void resetConfig() {
    try {
      EverboxConfig.reloadConfig();
    } catch (Throwable e) {
      log.warn("重新加载配置失败!!",e);
    }
    usernameField.setText(EverboxConfig.get("username"));
    passwordField.setText(EverboxConfig.get("password"));
    proxyPortField.setText(EverboxConfig.get("proxy.port"));
    proxyHostField.setText(EverboxConfig.get("proxy.host"));
    rootpathField.setText(EverboxConfig.get("rootpath"));
   
    uploadEnableBox.setSelected("true".equalsIgnoreCase(EverboxConfig.get("upload.enable")));
    uploadLimitField.setText(EverboxConfig.get("upload.speed.limit"));
    uploadMaxsizeField.setText(EverboxConfig.get("upload.ignore.maxsize"));
    uploadMinsizeField.setText(EverboxConfig.get("upload.ignore.minsize"));
    uploadIgnoreSuffixField.setText(EverboxConfig.get("upload.ignore.suffix"));
    uploadIgnoreHiddenBox.setSelected("true".equalsIgnoreCase(EverboxConfig.get("upload.ignore.hidden")));
    uploadIgnorePath.setText(EverboxConfig.get("upload.ignore.paths"));
   

    downloadEnableBox.setSelected("true".equalsIgnoreCase(EverboxConfig.get("download.enable")));
    downloadLimitField.setText(EverboxConfig.get("download.speed.limit"));
    downloadIgnoreSuffixField.setText(EverboxConfig.get("download.ignore.suffix"));
    downloadMinsizeField.setText(EverboxConfig.get("download.ignore.minsize"));
    downloadMaxsizeField.setText(EverboxConfig.get("download.ignore.maxsize"));
    downloadIgnorePath.setText(EverboxConfig.get("download.ignore.paths"));
  }
 
  public void saveConfig() {
    Properties p = EverboxConfig.getP();
    String username = usernameField.getText();
    String password = new String(passwordField.getPassword());
    File fv = new File("everbox.data");
    if(!fv.exists()) {
      if(Strings.isBlank(username) || Strings.isBlank(password)) {
        JOptionPane.showConfirmDialog(frmEverbox,
            "必须填写用户名和密码!! 请修改后再保存!!","无效配置", JOptionPane.OK_OPTION);
        return;
      }
    }
    if(!p.getProperty("username", "").equalsIgnoreCase(username)) {
      p.put("username", username);
      //用户名改变,需要清理快速登录信息
      if(fv.exists())
        fv.delete();
    }
    p.put("password", password);
   
    p.put("proxy.host", proxyHostField.getText());
    p.put("proxy.port", proxyPortField.getText());
    String rootPath = rootpathField.getText();
    if(Strings.isBlank(rootPath)) {
      JOptionPane.showConfirmDialog(frmEverbox,
          "必须设置本地文件夹!! 请修改后再保存!!","警告!!", JOptionPane.OK_OPTION);
      return;
    }
    if(!p.getProperty("rootpath","").equals(rootPath)) {
      JOptionPane.showConfirmDialog(frmEverbox,
          "你设置了新的本地文件夹,请慎重! 除非这是你第一次配置!!","提醒", JOptionPane.OK_OPTION);
    }
   

    if(uploadEnableBox.isSelected() && downloadEnableBox.isSelected()) {
      JOptionPane.showConfirmDialog(frmEverbox,
          "当前版本暂不支持同时开启上传和下载!! 请修改后再保存!!","提醒",JOptionPane.OK_OPTION);
      return;
    }
   
    p.put("rootpath", rootpathField.getText());
   
    p.put("upload.enable", ""+uploadEnableBox.isSelected());
    p.put("upload.speed.limit", uploadLimitField.getText());
    p.put("upload.ignore.maxsize", uploadMaxsizeField.getText());
    p.put("upload.ignore.minsize", uploadMinsizeField.getText());
    p.put("upload.ignore.suffix", uploadIgnoreSuffixField.getText());
    p.put("upload.ignore.hidden", ""+uploadIgnoreHiddenBox.isSelected());
    p.put("upload.ignore.paths", ""+uploadIgnorePath.getText());
   
    p.put("download.enable", ""+downloadEnableBox.isSelected());
    p.put("download.speed.limit", downloadLimitField.getText());
    p.put("download.ignore.suffix", downloadIgnoreSuffixField.getText());
    p.put("download.ignore.minsize", downloadMinsizeField.getText());
    p.put("download.ignore.maxsize", downloadMaxsizeField.getText());
    p.put("download.ignore.paths", downloadIgnorePath.getText());
   
   
    try {
      File f = new File("config.properties");
      f.createNewFile();
      p.store(new FileOutputStream(f), "Everbox4j Config");
      JOptionPane.showConfirmDialog(frmEverbox,
          "保存成功!! 如果你改变了用户名,请先退出客户端,然后再启动!","提醒",JOptionPane.OK_OPTION);
    } catch (Throwable e) {
      log.error("保存出错!!", e);
      JOptionPane.showConfirmDialog(frmEverbox, "保存失败!!!","警告",JOptionPane.OK_OPTION);
    }
  }

  /**
   * Initialize the contents of the frame.
   */
  private void initialize() {
    frmEverbox = new JFrame();
    frmEverbox.setIconImage(Toolkit.getDefaultToolkit().getImage(EverboxManager.class.getResource("/com/everbox4j/ui/EverBox4J.gif")));
    frmEverbox.setResizable(false);
    frmEverbox.setTitle("Everbox \u7BA1\u7406\u5668");
    frmEverbox.setBounds(100, 100, 450, 600);
    frmEverbox.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
   
    JMenuBar menuBar = new JMenuBar();
    frmEverbox.setJMenuBar(menuBar);
   
    JMenu FileMenu = new JMenu("File");
    menuBar.add(FileMenu);
   
    JMenuItem ExitMenuItem = new JMenuItem("\u9000\u51FA");
    ExitMenuItem.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        client.run = false;
        stopClientButton.setText("正在关闭,请等候");
        while(true) {
          if(clientThread.isAlive())
            try {
              Thread.sleep(1000);
            } catch (Throwable e1) {
            }
          break;
        }
        frmEverbox.dispose();
      }
    });
    FileMenu.add(ExitMenuItem);
   
    JMenu cleanMenu = new JMenu("\u6E05\u7406");
    menuBar.add(cleanMenu);
   
    JMenuItem mntmNewMenuItem = new JMenuItem("\u6E05\u7406\u767B\u9646\u4FE1\u606F");
    mntmNewMenuItem.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        File f = new File("everbox.data");
        if(f.exists())
          f.delete();
      }
    });
    mntmNewMenuItem.setEnabled(false);
    cleanMenu.add(mntmNewMenuItem);
   
    JMenuItem mntmNewMenuItem_1 = new JMenuItem("\u6E05\u7406\u65E5\u5FD7\u4FE1\u606F");
    mntmNewMenuItem_1.setEnabled(false);
    cleanMenu.add(mntmNewMenuItem_1);
   
    JMenuItem mntmNewMenuItem_3 = new JMenuItem("\u6E05\u7406\u4E0B\u8F7D\u7528\u5230\u7684\u4E34\u65F6\u6587\u4EF6");
    mntmNewMenuItem_3.setEnabled(false);
    cleanMenu.add(mntmNewMenuItem_3);
   
    JMenuItem mntmNewMenuItem_4 = new JMenuItem("\u6E05\u7406\u6587\u4EF6\u6570\u636E\u5E93");
    mntmNewMenuItem_4.setEnabled(false);
    cleanMenu.add(mntmNewMenuItem_4);
   
    JMenu helpMenu = new JMenu("\u5E2E\u52A9");
    menuBar.add(helpMenu);
   
    JMenuItem vistHomepageMenuItem = new JMenuItem("\u8BBF\u95EE\u9879\u76EE\u9996\u9875");
    vistHomepageMenuItem.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        try {
          Desktop.getDesktop().browse(new URL("http://everbox4j.googlecode.com").toURI());
        } catch (Throwable e2) {
          log.warn("启动浏览器失败!!",e2);
          JOptionPane.showConfirmDialog(frmEverbox, "启动浏览器失败!! http://everbox4j.googlecode.com");
        }
      }
    });
    helpMenu.add(vistHomepageMenuItem);
   
    JMenuItem sendMailFeedback = new JMenuItem("\u610F\u89C1\u53CD\u9988(\u53D1\u9001\u90AE\u4EF6)");
    sendMailFeedback.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        try {
          Desktop.getDesktop().mail(new URL("everbox4j@wendal.net").toURI());
        } catch (Throwable e2) {
          log.warn("启动邮件客户端失败!!",e2);
          JOptionPane.showConfirmDialog(frmEverbox, "启动邮件客户端失败!! 反馈邮箱: everbox4j@wendal.net");
        }
      }
    });
    helpMenu.add(sendMailFeedback);
   
    JMenuItem aboutMenuItem = new JMenuItem("\u5173\u4E8E...");
    aboutMenuItem.setEnabled(false);
    helpMenu.add(aboutMenuItem);
   
    JPanel clientContrlPanel = new JPanel();
    frmEverbox.getContentPane().add(clientContrlPanel, BorderLayout.NORTH);
   
    JLabel label = new JLabel("\u8FD0\u884C\u72B6\u6001");
    clientContrlPanel.add(label);
   
    startClientButton = new JButton("\u542F\u52A8");
    startClientButton.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        if(client.run || clientThread.isAlive()) {
          stopClientButton.setEnabled(true);
          startClientButton.setEnabled(false);
          return;
        } else {
          client.run = true;
          try{
            EverboxAPI.login();
            clientThread = new Thread(client);
            clientThread.start();
            startClientButton.setEnabled(false);
            stopClientButton.setEnabled(true);
            JOptionPane.showConfirmDialog(frmEverbox, "登陆成功!! 可以查看everbox.log文件观察本客户端的运行情况.");
          }catch (Throwable e2) {
            log.debug("登陆失败",e2);
            JOptionPane.showConfirmDialog(frmEverbox, "登陆失败!! 请确认你已经正确设置用户名/密码,并且已经保存!");
            client.run = false;
            return;
          }
        }
      }
    });
    startClientButton.setToolTipText("\u542F\u52A8\u5BA2\u6237\u7AEF");
    clientContrlPanel.add(startClientButton);
   
    stopClientButton = new JButton("\u505C\u6B62");
    stopClientButton.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        if((!client.run) || (!clientThread.isAlive())) {
          stopClientButton.setEnabled(false);
          startClientButton.setEnabled(true);
        } else {
          client.run = false;
          stopClientButton.setText("正在关闭,请等候");
          while(true) {
            if(clientThread.isAlive())
              try {
                Thread.sleep(1000);
              } catch (Throwable e1) {
              }
            break;
          }
          stopClientButton.setText("停止");
          startClientButton.setEnabled(true);
          stopClientButton.setEnabled(false);
        }
      }
    });
    stopClientButton.setToolTipText("\u505C\u6B62\u5BA2\u6237\u7AEF");
    stopClientButton.setEnabled(false);
    clientContrlPanel.add(stopClientButton);
   
    JButton btnNewButton_1 = new JButton("\u7ACB\u5373\u505C\u6B62");
    btnNewButton_1.setEnabled(false);
    clientContrlPanel.add(btnNewButton_1);
   
    JPanel panel = new JPanel();
    frmEverbox.getContentPane().add(panel, BorderLayout.CENTER);
    SpringLayout sl_panel = new SpringLayout();
    panel.setLayout(sl_panel);
   
    JButton btnNewButton_2 = new JButton("\u4FDD\u5B58\u914D\u7F6E");
    btnNewButton_2.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        saveConfig();
      }
    });
    panel.add(btnNewButton_2);
   
    JLabel lblNewLabel = new JLabel("\u7528\u6237\u540D");
    sl_panel.putConstraint(SpringLayout.NORTH, lblNewLabel, 45, SpringLayout.NORTH, panel);
    sl_panel.putConstraint(SpringLayout.WEST, lblNewLabel, 10, SpringLayout.WEST, panel);
    panel.add(lblNewLabel);
   
    usernameField = new JTextField();
    sl_panel.putConstraint(SpringLayout.WEST, usernameField, 18, SpringLayout.EAST, lblNewLabel);
    sl_panel.putConstraint(SpringLayout.SOUTH, btnNewButton_2, -6, SpringLayout.NORTH, usernameField);
    usernameField.setToolTipText("\u6682\u65F6\u53EA\u652F\u6301\u76DB\u5927\u5E10\u6237");
    sl_panel.putConstraint(SpringLayout.NORTH, usernameField, 42, SpringLayout.NORTH, panel);
    panel.add(usernameField);
    usernameField.setColumns(10);
   
    JLabel lblNewLabel_1 = new JLabel("\u5BC6\u7801");
    sl_panel.putConstraint(SpringLayout.WEST, lblNewLabel_1, 207, SpringLayout.WEST, panel);
    sl_panel.putConstraint(SpringLayout.EAST, usernameField, -30, SpringLayout.WEST, lblNewLabel_1);
    sl_panel.putConstraint(SpringLayout.EAST, btnNewButton_2, 0, SpringLayout.EAST, lblNewLabel_1);
    sl_panel.putConstraint(SpringLayout.NORTH, lblNewLabel_1, 45, SpringLayout.NORTH, panel);
    panel.add(lblNewLabel_1);
   
    passwordField = new JPasswordField();
    passwordField.setToolTipText("\u8BF7\u586B\u5165\u5BC6\u7801");
    sl_panel.putConstraint(SpringLayout.WEST, passwordField, 6, SpringLayout.EAST, lblNewLabel_1);
    sl_panel.putConstraint(SpringLayout.EAST, passwordField, 159, SpringLayout.EAST, lblNewLabel_1);
    panel.add(passwordField);
   
    JCheckBox checkBox = new JCheckBox("\u542F\u7528\u4EE3\u7406");
    sl_panel.putConstraint(SpringLayout.WEST, checkBox, 10, SpringLayout.WEST, panel);
    checkBox.setEnabled(false);
    panel.add(checkBox);
   
    JLabel label_1 = new JLabel("\u4EE3\u7406\u670D\u52A1\u5668");
    sl_panel.putConstraint(SpringLayout.NORTH, label_1, 4, SpringLayout.NORTH, checkBox);
    sl_panel.putConstraint(SpringLayout.WEST, label_1, 6, SpringLayout.EAST, checkBox);
    panel.add(label_1);
   
    JLabel label_2 = new JLabel("\u7AEF\u53E3");
    sl_panel.putConstraint(SpringLayout.NORTH, label_2, 4, SpringLayout.NORTH, checkBox);
    panel.add(label_2);
   
    proxyPortField = new JTextField();
    proxyPortField.setEditable(false);
    sl_panel.putConstraint(SpringLayout.NORTH, proxyPortField, 1, SpringLayout.NORTH, checkBox);
    sl_panel.putConstraint(SpringLayout.WEST, proxyPortField, 6, SpringLayout.EAST, label_2);
    proxyPortField.setText("8080");
    panel.add(proxyPortField);
    proxyPortField.setColumns(10);
   
    proxyHostField = new JTextField();
    proxyHostField.setEditable(false);
    sl_panel.putConstraint(SpringLayout.WEST, proxyHostField, 6, SpringLayout.EAST, label_1);
    sl_panel.putConstraint(SpringLayout.EAST, proxyHostField, -172, SpringLayout.EAST, panel);
    sl_panel.putConstraint(SpringLayout.WEST, label_2, 6, SpringLayout.EAST, proxyHostField);
    sl_panel.putConstraint(SpringLayout.NORTH, proxyHostField, 1, SpringLayout.NORTH, checkBox);
    panel.add(proxyHostField);
    proxyHostField.setColumns(10);
   
    JLabel label_3 = new JLabel("\u672C\u5730\u6587\u4EF6\u5939");
    sl_panel.putConstraint(SpringLayout.NORTH, label_3, 21, SpringLayout.SOUTH, lblNewLabel);
    sl_panel.putConstraint(SpringLayout.WEST, label_3, 10, SpringLayout.WEST, panel);
    panel.add(label_3);
   
    rootpathField = new JTextField();
    sl_panel.putConstraint(SpringLayout.NORTH, checkBox, 13, SpringLayout.SOUTH, rootpathField);
    sl_panel.putConstraint(SpringLayout.NORTH, rootpathField, -3, SpringLayout.NORTH, label_3);
    sl_panel.putConstraint(SpringLayout.WEST, rootpathField, 6, SpringLayout.EAST, label_3);
    sl_panel.putConstraint(SpringLayout.EAST, rootpathField, -91, SpringLayout.EAST, panel);
    rootpathField.setEditable(false);
    rootpathField.setEnabled(false);
    panel.add(rootpathField);
    rootpathField.setColumns(10);
   
    JButton selectRootPathButton = new JButton("\u9009\u62E9");
    selectRootPathButton.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        JFileChooser jfc = new JFileChooser();
        jfc.setName("请选择本地存放文件夹");
        jfc.setDialogTitle("请选择本地存放文件夹");
        jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        int rc = jfc.showOpenDialog(frmEverbox);
        if(rc == JFileChooser.APPROVE_OPTION )
          rootpathField.setText(jfc.getSelectedFile().getAbsolutePath());
      }
    });
    sl_panel.putConstraint(SpringLayout.NORTH, selectRootPathButton, -4, SpringLayout.NORTH, label_3);
    sl_panel.putConstraint(SpringLayout.WEST, selectRootPathButton, 6, SpringLayout.EAST, rootpathField);
    panel.add(selectRootPathButton);
   
    uploadEnableBox = new JCheckBox("\u542F\u7528\u4E0A\u4F20");
    sl_panel.putConstraint(SpringLayout.WEST, uploadEnableBox, 10, SpringLayout.WEST, panel);
    uploadEnableBox.setToolTipText("\u542F\u7528\u4E0A\u4F20\u6A21\u5F0F");
    uploadEnableBox.setSelected(true);
    sl_panel.putConstraint(SpringLayout.NORTH, uploadEnableBox, 6, SpringLayout.SOUTH, checkBox);
    panel.add(uploadEnableBox);
   
    downloadEnableBox = new JCheckBox("\u542F\u7528\u4E0B\u8F7D");
    downloadEnableBox.setToolTipText("\u542F\u7528\u4E0B\u8F7D\u6A21\u5F0F");
    sl_panel.putConstraint(SpringLayout.NORTH, downloadEnableBox, 0, SpringLayout.NORTH, uploadEnableBox);
    sl_panel.putConstraint(SpringLayout.WEST, downloadEnableBox, 0, SpringLayout.WEST, lblNewLabel_1);
    panel.add(downloadEnableBox);
   
    JLabel lblNewLabel_2 = new JLabel("\u5FFD\u7565\u6587\u4EF6\u6269\u5C55\u540D");
    sl_panel.putConstraint(SpringLayout.WEST, lblNewLabel_2, 10, SpringLayout.WEST, panel);
    panel.add(lblNewLabel_2);
   
    uploadMaxsizeField = new JTextField();
    uploadMaxsizeField.setToolTipText("\u8BBE\u7F6E\u4E0A\u4F20\u6587\u4EF6\u6700\u5927\u5C3A\u5BF8,\u4F8B\u5982100m");
    panel.add(uploadMaxsizeField);
    uploadMaxsizeField.setColumns(10);
   
    JLabel label_4 = new JLabel("\u5FFD\u7565\u6587\u4EF6\u6269\u5C55\u540D");
    sl_panel.putConstraint(SpringLayout.NORTH, label_4, 0, SpringLayout.NORTH, lblNewLabel_2);
    sl_panel.putConstraint(SpringLayout.WEST, label_4, 0, SpringLayout.WEST, lblNewLabel_1);
    sl_panel.putConstraint(SpringLayout.EAST, label_4, 0, SpringLayout.EAST, label_2);
    panel.add(label_4);
   
    downloadLimitField = new JTextField();
    downloadLimitField.setEditable(false);
    sl_panel.putConstraint(SpringLayout.EAST, downloadLimitField, 0, SpringLayout.EAST, proxyPortField);
    downloadLimitField.setColumns(10);
    panel.add(downloadLimitField);
   
    JLabel label_5 = new JLabel("\u6587\u4EF6\u6700\u5927\u5C3A\u5BF8");
    sl_panel.putConstraint(SpringLayout.WEST, uploadMaxsizeField, 17, SpringLayout.EAST, label_5);
    sl_panel.putConstraint(SpringLayout.WEST, label_5, 10, SpringLayout.WEST, panel);
    sl_panel.putConstraint(SpringLayout.NORTH, label_5, 45, SpringLayout.SOUTH, uploadEnableBox);
    sl_panel.putConstraint(SpringLayout.NORTH, uploadMaxsizeField, -3, SpringLayout.NORTH, label_5);
    panel.add(label_5);
   
    JLabel label_6 = new JLabel("\u6587\u4EF6\u6700\u5C0F\u5C3A\u5BF8");
    sl_panel.putConstraint(SpringLayout.WEST, label_6, 10, SpringLayout.WEST, panel);
    sl_panel.putConstraint(SpringLayout.NORTH, lblNewLabel_2, 20, SpringLayout.SOUTH, label_6);
    sl_panel.putConstraint(SpringLayout.NORTH, label_6, 16, SpringLayout.SOUTH, label_5);
    panel.add(label_6);
   
    JLabel label_7 = new JLabel("\u5FFD\u7565\u8DEF\u5F84");
    sl_panel.putConstraint(SpringLayout.WEST, label_7, 10, SpringLayout.WEST, panel);
    sl_panel.putConstraint(SpringLayout.EAST, lblNewLabel, 0, SpringLayout.EAST, label_7);
    sl_panel.putConstraint(SpringLayout.NORTH, label_7, 44, SpringLayout.SOUTH, lblNewLabel_2);
    panel.add(label_7);
   
    uploadIgnoreHiddenBox = new JCheckBox("\u5FFD\u7565\u9690\u85CF\u6587\u4EF6");
    sl_panel.putConstraint(SpringLayout.WEST, uploadIgnoreHiddenBox, 10, SpringLayout.WEST, panel);
    uploadIgnoreHiddenBox.setToolTipText("\u662F\u5426\u5FFD\u7565\u9690\u85CF\u6587\u4EF6");
    sl_panel.putConstraint(SpringLayout.NORTH, uploadIgnoreHiddenBox, 20, SpringLayout.SOUTH, label_7);
    uploadIgnoreHiddenBox.setSelected(true);
    panel.add(uploadIgnoreHiddenBox);
   
    JLabel label_8 = new JLabel("\u6587\u4EF6\u6700\u5927\u5C3A\u5BF8");
    sl_panel.putConstraint(SpringLayout.EAST, uploadMaxsizeField, -30, SpringLayout.WEST, label_8);
    sl_panel.putConstraint(SpringLayout.EAST, label_8, 0, SpringLayout.EAST, label_2);
    sl_panel.putConstraint(SpringLayout.NORTH, label_8, 3, SpringLayout.NORTH, uploadMaxsizeField);
    sl_panel.putConstraint(SpringLayout.WEST, label_8, 0, SpringLayout.WEST, lblNewLabel_1);
    panel.add(label_8);
   
    JLabel label_9 = new JLabel("\u6587\u4EF6\u6700\u5C0F\u5C3A\u5BF8");
    sl_panel.putConstraint(SpringLayout.NORTH, label_9, 0, SpringLayout.NORTH, label_6);
    sl_panel.putConstraint(SpringLayout.WEST, label_9, 0, SpringLayout.WEST, lblNewLabel_1);
    sl_panel.putConstraint(SpringLayout.EAST, label_9, 0, SpringLayout.EAST, label_2);
    panel.add(label_9);
   
    JLabel label_10 = new JLabel("\u5FFD\u7565\u8DEF\u5F84");
    sl_panel.putConstraint(SpringLayout.NORTH, label_10, 0, SpringLayout.NORTH, label_7);
    sl_panel.putConstraint(SpringLayout.WEST, label_10, 0, SpringLayout.WEST, lblNewLabel_1);
    panel.add(label_10);
   
    uploadMinsizeField = new JTextField();
    sl_panel.putConstraint(SpringLayout.WEST, uploadMinsizeField, 17, SpringLayout.EAST, label_6);
    sl_panel.putConstraint(SpringLayout.EAST, uploadMinsizeField, -30, SpringLayout.WEST, label_9);
    uploadMinsizeField.setToolTipText("\u8BBE\u7F6E\u4E0A\u4F20\u6587\u4EF6\u6700\u5C0F\u5C3A\u5BF8,\u4F8B\u5982100k");
    sl_panel.putConstraint(SpringLayout.NORTH, uploadMinsizeField, -3, SpringLayout.NORTH, label_6);
    panel.add(uploadMinsizeField);
    uploadMinsizeField.setColumns(10);
   
    uploadIgnoreSuffixField = new JTextField();
    sl_panel.putConstraint(SpringLayout.WEST, uploadIgnoreSuffixField, 6, SpringLayout.EAST, lblNewLabel_2);
    sl_panel.putConstraint(SpringLayout.EAST, uploadIgnoreSuffixField, -30, SpringLayout.WEST, label_4);
    uploadIgnoreSuffixField.setToolTipText("\u9700\u8981\u5FFD\u7565\u7684\u6587\u4EF6\u540D\u540E\u7F00,\u53EF\u586B\u5165\u591A\u4E2A,\u7528\u82F1\u6587\u9017\u53F7\u5206\u9694");
    sl_panel.putConstraint(SpringLayout.NORTH, uploadIgnoreSuffixField, -3, SpringLayout.NORTH, lblNewLabel_2);
    panel.add(uploadIgnoreSuffixField);
    uploadIgnoreSuffixField.setColumns(10);
   
    downloadIgnoreSuffixField = new JTextField();
    downloadIgnoreSuffixField.setToolTipText("\u9700\u8981\u5FFD\u7565\u7684\u6587\u4EF6\u540D\u540E\u7F00,\u53EF\u586B\u5165\u591A\u4E2A,\u7528\u82F1\u6587\u9017\u53F7\u5206\u9694");
    sl_panel.putConstraint(SpringLayout.NORTH, downloadIgnoreSuffixField, -3, SpringLayout.NORTH, lblNewLabel_2);
    sl_panel.putConstraint(SpringLayout.WEST, downloadIgnoreSuffixField, 0, SpringLayout.WEST, proxyPortField);
    panel.add(downloadIgnoreSuffixField);
    downloadIgnoreSuffixField.setColumns(10);
   
    downloadMinsizeField = new JTextField();
    downloadMinsizeField.setToolTipText("\u8BBE\u7F6E\u4E0B\u8F7D\u6587\u4EF6\u6700\u5C0F\u5C3A\u5BF8,\u4F8B\u59821m");
    sl_panel.putConstraint(SpringLayout.NORTH, downloadMinsizeField, -3, SpringLayout.NORTH, label_6);
    sl_panel.putConstraint(SpringLayout.WEST, downloadMinsizeField, 0, SpringLayout.WEST, proxyPortField);
    panel.add(downloadMinsizeField);
    downloadMinsizeField.setColumns(10);
   
    uploadLimitField = new JTextField();
    uploadLimitField.setText("\u8BBE\u7F6E\u6700\u5927\u4E0A\u4F20\u901F\u5EA6");
    sl_panel.putConstraint(SpringLayout.SOUTH, uploadLimitField, -6, SpringLayout.NORTH, uploadMaxsizeField);
    uploadLimitField.setEditable(false);
    panel.add(uploadLimitField);
    uploadLimitField.setColumns(10);
   
    downloadMaxsizeField = new JTextField();
    downloadMaxsizeField.setToolTipText("\u8BBE\u7F6E\u4E0B\u8F7D\u6587\u4EF6\u6700\u5927\u5C3A\u5BF8,\u4F8B\u59821g");
    sl_panel.putConstraint(SpringLayout.SOUTH, downloadLimitField, -6, SpringLayout.NORTH, downloadMaxsizeField);
    sl_panel.putConstraint(SpringLayout.NORTH, downloadMaxsizeField, 0, SpringLayout.NORTH, uploadMaxsizeField);
    sl_panel.putConstraint(SpringLayout.WEST, downloadMaxsizeField, 0, SpringLayout.WEST, proxyPortField);
    panel.add(downloadMaxsizeField);
    downloadMaxsizeField.setColumns(10);
   
    JCheckBox checkBox_4 = new JCheckBox("\u5220\u9664\u672C\u5730\u6587\u4EF6\u9700\u8981\u786E\u8BA4");
    sl_panel.putConstraint(SpringLayout.WEST, checkBox_4, 10, SpringLayout.WEST, panel);
    checkBox_4.setEnabled(false);
    sl_panel.putConstraint(SpringLayout.NORTH, checkBox_4, 70, SpringLayout.SOUTH, uploadIgnoreHiddenBox);
    panel.add(checkBox_4);
   
    JCheckBox checkBox_5 = new JCheckBox("\u8986\u76D6\u672C\u5730\u6587\u4EF6\u9700\u8981\u786E\u8BA4");
    checkBox_5.setEnabled(false);
    sl_panel.putConstraint(SpringLayout.NORTH, checkBox_5, 0, SpringLayout.NORTH, checkBox_4);
    sl_panel.putConstraint(SpringLayout.WEST, checkBox_5, 0, SpringLayout.WEST, lblNewLabel_1);
    panel.add(checkBox_5);
   
    JLabel label_11 = new JLabel("\u4E0A\u4F20\u9650\u901F");
    sl_panel.putConstraint(SpringLayout.WEST, uploadLimitField, 16, SpringLayout.EAST, label_11);
    sl_panel.putConstraint(SpringLayout.EAST, label_11, 0, SpringLayout.EAST, checkBox);
    sl_panel.putConstraint(SpringLayout.WEST, label_11, 10, SpringLayout.WEST, panel);
    sl_panel.putConstraint(SpringLayout.SOUTH, label_11, -12, SpringLayout.NORTH, label_5);
    panel.add(label_11);
   
    uploadIgnorePath = new JTextField();
    sl_panel.putConstraint(SpringLayout.WEST, uploadIgnorePath, 41, SpringLayout.EAST, label_7);
    sl_panel.putConstraint(SpringLayout.EAST, uploadIgnorePath, -30, SpringLayout.WEST, label_10);
    uploadIgnorePath.setToolTipText("\u9700\u8981\u5FFD\u7565\u7684\u76F8\u5BF9\u8DEF\u5F84,\u7528\u82F1\u6587\u9017\u53F7\u5206\u9694");
    sl_panel.putConstraint(SpringLayout.SOUTH, uploadIgnorePath, 0, SpringLayout.SOUTH, label_7);
    panel.add(uploadIgnorePath);
    uploadIgnorePath.setColumns(10);
   
    downloadIgnorePath = new JTextField();
    downloadIgnorePath.setToolTipText("\u9700\u8981\u5FFD\u7565\u7684\u76F8\u5BF9\u8DEF\u5F84,\u7528\u82F1\u6587\u9017\u53F7\u5206\u9694");
    sl_panel.putConstraint(SpringLayout.NORTH, downloadIgnorePath, -3, SpringLayout.NORTH, label_7);
    sl_panel.putConstraint(SpringLayout.WEST, downloadIgnorePath, 0, SpringLayout.WEST, proxyPortField);
    panel.add(downloadIgnorePath);
    downloadIgnorePath.setColumns(10);
   
    JLabel label_12 = new JLabel("\u4E0B\u8F7D\u9650\u901F");
    sl_panel.putConstraint(SpringLayout.EAST, uploadLimitField, -30, SpringLayout.WEST, label_12);
    sl_panel.putConstraint(SpringLayout.EAST, label_12, 0, SpringLayout.EAST, label_2);
    sl_panel.putConstraint(SpringLayout.NORTH, label_12, 3, SpringLayout.NORTH, downloadLimitField);
    sl_panel.putConstraint(SpringLayout.WEST, label_12, 0, SpringLayout.WEST, lblNewLabel_1);
    panel.add(label_12);
   
    JButton button = new JButton("\u64A4\u9500\u4FEE\u6539");
    sl_panel.putConstraint(SpringLayout.NORTH, passwordField, 6, SpringLayout.SOUTH, button);
    button.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        resetConfig();
      }
    });
    sl_panel.putConstraint(SpringLayout.NORTH, button, 0, SpringLayout.NORTH, btnNewButton_2);
    sl_panel.putConstraint(SpringLayout.EAST, button, 0, SpringLayout.EAST, passwordField);
    panel.add(button);
  }
}
TOP

Related Classes of com.everbox4j.ui.EverboxManager

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.