示例#1
0
  /**
   * Builds the UI component hosting the buttons.
   *
   * @return See above.
   */
  private JPanel buildLogin() {
    // server information
    JPanel p = new JPanel();
    p.setOpaque(false);
    p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS));
    p.add(serverTextPane);
    p.add(connectionSpeedText);

    JToolBar bar = new JToolBar();
    bar.setOpaque(false);
    bar.setBorder(null);
    bar.setFloatable(false);
    if (UIUtilities.isWindowsOS()) {
      bar.add(Box.createHorizontalStrut(5));
      bar.add(encryptedButton);
      bar.add(Box.createHorizontalStrut(5));
      bar.add(configButton);
    } else {
      bar.add(encryptedButton);
      bar.add(configButton);
    }

    JPanel row = new JPanel();
    row.setOpaque(false);
    row.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0));
    row.add(p);
    row.add(bar);

    mainPanel.add(row);
    components.add(row);
    // user name
    JPanel group = new JPanel();
    group.setOpaque(false);
    group.setLayout(new BoxLayout(group, BoxLayout.Y_AXIS));
    JTextPane l = UIUtilities.buildTextPane(USER_TEXT, TEXT_COLOR);
    row = new JPanel();
    row.setOpaque(false);
    row.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0));
    row.add(l);
    row.add(user);
    group.add(row);

    // password
    l = UIUtilities.buildTextPane(" " + PASSWORD_TEXT, TEXT_COLOR);
    row = new JPanel();
    row.setOpaque(false);
    row.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0));
    row.add(l);
    row.add(pass);
    group.add(row);

    mainPanel.add(group);
    components.add(group);
    // controls
    JPanel controls = new JPanel();
    controls.setOpaque(false);
    controls.add(Box.createHorizontalGlue());
    controls.add(login);
    controls.add(cancel);
    p = UIUtilities.buildComponentPanelCenter(controls, 0, 0, false);
    mainPanel.add(p);
    components.add(p);

    return mainPanel;
  }