Package ch.ethz.prose.tools

Source Code of ch.ethz.prose.tools.AddVMDialog$MyDocumentListener

//
//  This file is part of the prose package.
//
//  The contents of this file are subject to the Mozilla Public License
//  Version 1.1 (the "License"); you may not use this file except in
//  compliance with the License. You may obtain a copy of the License at
//  http://www.mozilla.org/MPL/
//
//  Software distributed under the License is distributed on an "AS IS" basis,
//  WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
//  for the specific language governing rights and limitations under the
//  License.
//
//  The Original Code is prose.
//
//  The Initial Developer of the Original Code is Andrei Popovici. Portions
//  created by Andrei Popovici are Copyright (C) 2002 Andrei Popovici.
//  All Rights Reserved.
//
//  Contributor(s):
//  $Id: AddVMDialog.java,v 1.3 2008/11/18 11:43:39 anicoara Exp $
//  ==============================================================
//

package ch.ethz.prose.tools;

import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.text.BadLocationException;
import javax.swing.text.Document;

/**
* @author  pschoch
*/
public class AddVMDialog extends javax.swing.JDialog {

  private static final long serialVersionUID = 3256728398360556336L;
  private String nameVM = null;
  private String ip = "";
  private String port = "5000";


  /** Creates new form AddVMDialog */
  public AddVMDialog(java.awt.Frame parent, boolean modal) {
    super(parent, modal);
    initComponents();
    customizeComponents();
  }

  protected class MyDocumentListener implements DocumentListener {
    private String which;
   
    public MyDocumentListener(String which) {
      this.which = which;
    }
   
    public void insertUpdate(DocumentEvent e) {
      displayEditInfo(e);
    }
   
    public void removeUpdate(DocumentEvent e) {
      displayEditInfo(e);
    }
   
    public void changedUpdate(DocumentEvent e) {
      // Plain Text components don't fire this events.
    }
   
    private void displayEditInfo(DocumentEvent e) {
      String text = null;
      Document doc = (Document)e.getDocument();
      try {
        text = doc.getText(0, doc.getLength());
      }
      catch (BadLocationException es) {
        throw new Error("bad location in AddVMDialog");
      }
      if (which.equals("name"))
        nameVM = text;
      else if (which.equals("ip"))
        ip = text;
      else if (which.equals("port"))
        port = text;
      else
        throw new RuntimeException("wrong label: "+which);
    }
  }

  /**
   * This method is called from within the constructor to
   * initialize the form.
   * WARNING: Do NOT modify this code. The content of this method is
   * always regenerated by the Form Editor.
   */
  private void initComponents() {//GEN-BEGIN:initComponents
    input = new javax.swing.JPanel();
    namePane = new javax.swing.JPanel();
    nameLabel = new javax.swing.JLabel();
    nameTextField = new javax.swing.JTextField();
    ipPane = new javax.swing.JPanel();
    ipLabel = new javax.swing.JLabel();
    ipTextField = new javax.swing.JTextField();
    portPane = new javax.swing.JPanel();
    portLabel = new javax.swing.JLabel();
    portTextField = new javax.swing.JTextField();
    buttons = new javax.swing.JPanel();
    addButton = new javax.swing.JButton();
    cancelButton = new javax.swing.JButton();

    setTitle("Add new Virtual Machine");
    setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
    setName("addVMDialog");
    addWindowListener(new java.awt.event.WindowAdapter() {
      public void windowClosing(java.awt.event.WindowEvent evt) {
        closeDialog(evt);
      }
    });

    input.setLayout(new javax.swing.BoxLayout(input, javax.swing.BoxLayout.Y_AXIS));

    input.setPreferredSize(new java.awt.Dimension(300, 200));
    input.setMinimumSize(new java.awt.Dimension(300, 200));
    namePane.setLayout(new javax.swing.BoxLayout(namePane, javax.swing.BoxLayout.X_AXIS));

    namePane.setBorder(new javax.swing.border.EmptyBorder(new java.awt.Insets(5, 10, 5, 10)));
    namePane.setAlignmentX(0.0F);
    namePane.setMaximumSize(new java.awt.Dimension(300, 58));
    nameLabel.setText("Name:");
    nameLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
    nameLabel.setPreferredSize(new java.awt.Dimension(80, 29));
    nameLabel.setBorder(new javax.swing.border.EmptyBorder(new java.awt.Insets(1, 1, 1, 10)));
    nameLabel.setMinimumSize(new java.awt.Dimension(100, 29));
    nameLabel.setMaximumSize(new java.awt.Dimension(100, 29));
    namePane.add(nameLabel);

    nameTextField.setToolTipText("name of the VM");
    nameTextField.setAlignmentX(1.0F);
    nameTextField.setPreferredSize(new java.awt.Dimension(200, 29));
    nameTextField.setMaximumSize(new java.awt.Dimension(200, 29));
    nameTextField.setMinimumSize(new java.awt.Dimension(200, 29));
    namePane.add(nameTextField);

    input.add(namePane);


    ipPane.setLayout(new javax.swing.BoxLayout(ipPane, javax.swing.BoxLayout.X_AXIS));

    ipPane.setBorder(new javax.swing.border.EmptyBorder(new java.awt.Insets(5, 10, 5, 10)));
    ipPane.setAlignmentX(0.0F);
    ipPane.setMaximumSize(new java.awt.Dimension(300, 58));
    ipLabel.setText("IP:");
    ipLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
    ipLabel.setPreferredSize(new java.awt.Dimension(80, 29));
    ipLabel.setBorder(new javax.swing.border.EmptyBorder(new java.awt.Insets(1, 1, 1, 10)));
    ipLabel.setMinimumSize(new java.awt.Dimension(100, 29));
    ipLabel.setMaximumSize(new java.awt.Dimension(100, 29));
    ipPane.add(ipLabel);

    ipTextField.setToolTipText("IP-Address OR www-Address OR Hostname");
    ipTextField.setAlignmentX(1.0F);
    ipTextField.setPreferredSize(new java.awt.Dimension(200, 29));
    ipTextField.setMaximumSize(new java.awt.Dimension(200, 29));
    ipTextField.setMinimumSize(new java.awt.Dimension(200, 29));
    ipPane.add(ipTextField);

    input.add(ipPane);

    portPane.setLayout(new javax.swing.BoxLayout(portPane, javax.swing.BoxLayout.X_AXIS));

    portPane.setBorder(new javax.swing.border.EmptyBorder(new java.awt.Insets(5, 10, 5, 10)));
    portPane.setPreferredSize(new java.awt.Dimension(222, 29));
    portPane.setMinimumSize(new java.awt.Dimension(222, 29));
    portPane.setAlignmentX(0.0F);
    portPane.setMaximumSize(new java.awt.Dimension(300, 58));
    portLabel.setText("Port:");
    portLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
    portLabel.setPreferredSize(new java.awt.Dimension(60, 29));
    portLabel.setBorder(new javax.swing.border.EmptyBorder(new java.awt.Insets(1, 1, 1, 10)));
    portLabel.setMinimumSize(new java.awt.Dimension(100, 29));
    portLabel.setMaximumSize(new java.awt.Dimension(100, 29));
    portPane.add(portLabel);

    portTextField.setToolTipText("Portnumber");
    portTextField.setText("5000");
    portTextField.setPreferredSize(new java.awt.Dimension(200, 29));
    portTextField.setMaximumSize(new java.awt.Dimension(200, 29));
    portTextField.setMinimumSize(new java.awt.Dimension(200, 29));
    portPane.add(portTextField);

    input.add(portPane);

    getContentPane().add(input, java.awt.BorderLayout.CENTER);

    buttons.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.CENTER, 20, 15));

    addButton.setMnemonic('A');
    addButton.setText("Add");
    addButton.setPreferredSize(new java.awt.Dimension(81, 29));
    addButton.setMaximumSize(new java.awt.Dimension(81, 29));
    addButton.setMinimumSize(new java.awt.Dimension(81, 29));
    addButton.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        addButtonActionPerformed(evt);
      }
    });

    addButton.addKeyListener(new java.awt.event.KeyAdapter() {
      public void keyPressed(java.awt.event.KeyEvent evt) {
        addButtonKeyPressed(evt);
      }
    });

    buttons.add(addButton);

    cancelButton.setMnemonic('C');
    cancelButton.setText("Cancel");
    cancelButton.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        cancelButtonActionPerformed(evt);
      }
    });

    buttons.add(cancelButton);
    getContentPane().add(buttons, java.awt.BorderLayout.SOUTH);
    pack();
  }//GEN-END:initComponents

  private void addButtonKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_addButtonKeyPressed
    if (evt.getKeyCode() == java.awt.event.KeyEvent.VK_ENTER)
      addButtonAction();
  }//GEN-LAST:event_addButtonKeyPressed

  private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelButtonActionPerformed
    setVisible(false);
    dispose();
  }//GEN-LAST:event_cancelButtonActionPerformed

  private void addButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addButtonActionPerformed
    addButtonAction();
  }//GEN-LAST:event_addButtonActionPerformed

  /** Closes the dialog */
  private void closeDialog(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_closeDialog
    setVisible(false);
    dispose();
  }//GEN-LAST:event_closeDialog

  private void addButtonAction() {
    try {
      ((JMultipleProseClient)getOwner()).addTab(nameVM,ip,port,true);
      setVisible(false);
      dispose();
    }
    catch (Exception e) {
      JMultipleProseClient.showException(this,e);
      if (e instanceof java.rmi.RemoteException) {
        setVisible(false);
        dispose();
      }
    }
  }

  private void customizeComponents() {
    nameTextField.getDocument().addDocumentListener(new MyDocumentListener("name"));
    portTextField.getDocument().addDocumentListener(new MyDocumentListener("port"));
    ipTextField.getDocument().addDocumentListener(new MyDocumentListener("ip"));
    this.setLocationRelativeTo(this.getParent());
  }


  // Variables declaration - do not modify//GEN-BEGIN:variables
  private javax.swing.JLabel nameLabel;
  private javax.swing.JPanel portPane;
  private javax.swing.JLabel ipLabel;
  private javax.swing.JPanel input;
  private javax.swing.JTextField ipTextField;
  private javax.swing.JButton addButton;
  private javax.swing.JPanel buttons;
  private javax.swing.JButton cancelButton;
  private javax.swing.JTextField portTextField;
  private javax.swing.JPanel ipPane;
  private javax.swing.JLabel protocolLabel;
  private javax.swing.JLabel portLabel;
  private javax.swing.JPanel namePane;
  private javax.swing.JTextField nameTextField;
  private javax.swing.JPanel protocolPane;
  private javax.swing.JTextField protocolTextField;
  // End of variables declaration//GEN-END:variables

}
TOP

Related Classes of ch.ethz.prose.tools.AddVMDialog$MyDocumentListener

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.