Package net.matuschek.jobo

Source Code of net.matuschek.jobo.AllowedListFrame

package net.matuschek.jobo;

import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.util.Vector;

import javax.swing.JButton;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;

import net.matuschek.swing.JHideFrame;
import net.matuschek.swing.VerticalAlignPanel;
/*********************************************
    Copyright (c) 2001 by Daniel Matuschek
*********************************************/


/**
* Frame to manage lists of AllowedURLs
*
* @author Daniel Matuschek
* @version $Revision: 1.2 $
*/
public class AllowedListFrame extends JHideFrame {

  private static final long serialVersionUID = -5113419291037861467L;

  /** a Vector containing the allowed URLs as Strings */
  private Vector<String> urls = null;

  /** JList holding all URLs */
  private JList urlList = null;


  /**
   * Initializes the object with the given list of allowed URLs
   */
  public AllowedListFrame(Vector<String> urls) {
    super();
    this.urls = urls;
    initComponents ();
    pack ();
  }


  /**
   * This method is called from within the constructor to
   * initialize the form.
   */
  private void initComponents() {
    this.setTitle("Allowed URLs");

    JPanel completePanel = new JPanel();
    completePanel.setLayout(new GridBagLayout());


    JPanel leftPanel = new JPanel();
    GridBagConstraints consLeft  = new GridBagConstraints();
    consLeft.gridx = 0;
    consLeft.gridy = 0;
    completePanel.add(leftPanel, consLeft);


    VerticalAlignPanel rightPanel = new VerticalAlignPanel();
    GridBagConstraints consRight  = new GridBagConstraints();
    consRight.gridx = 1;
    consRight.gridy = 0;
    completePanel.add(rightPanel, consRight);


    //
    // buttons
    //
    JButton buttAdd = new JButton();
    buttAdd.setText("Add");
    buttAdd.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        addURL();
      }
    });
    rightPanel.add(buttAdd,1);

    JButton buttDelete = new JButton();
    buttDelete.setText("Delete");
    buttDelete.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        deleteURL();
      }
    });
    rightPanel.add(buttDelete,1);

    JButton buttClose = new JButton();
    buttClose.setText("Close");
    buttClose.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        exitForm();
      }
    });
    rightPanel.add(buttClose,1);

    // list
    urlList = new JList();
    urlList.setVisibleRowCount(6);
    urlList.setMinimumSize(new java.awt.Dimension(40,4));
    urlList.setListData(urls);
    JScrollPane urlScroll = new JScrollPane();
    urlScroll.setViewportView(urlList);
    leftPanel.add(urlScroll);


    getContentPane().add(completePanel);

  }

  protected void deleteURL() {
    int selected = urlList.getMinSelectionIndex();
    if (selected < 0) {
      JOptionPane.showMessageDialog(this,
          "Please select an URL");
    } else {
      String deleteURL = urls.elementAt(selected);
      int yes =
        JOptionPane.showConfirmDialog(this,
            "Do you really want to delete "
            +deleteURL+" ?",
            "Confirm delete",
            JOptionPane.YES_NO_OPTION);
      if (yes == 0) {
        urls.removeElementAt(selected);
        urlList.clearSelection();
      }

    }
  }


  protected void addURL() {
    String newURL = JOptionPane.showInputDialog("Add URL:");
    urls.add(newURL);
    urlList.setListData(urls);
  }


}
TOP

Related Classes of net.matuschek.jobo.AllowedListFrame

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.