Save This Page
Home » openjdk-7 » net.sourceforge.jnipp » gui » [javadoc | source]
    1   /*
    2    * ClassChooserDialog.java
    3   */
    4   
    5   package net.sourceforge.jnipp.gui;
    6   
    7   import net.sourceforge.jnipp.gui.App;
    8   import net.sourceforge.jnipp.project;
    9   import java.util.Iterator;
   10   import java.util.Vector;
   11   import java.util.ArrayList;
   12   import java.awt;
   13   import java.awt.event;
   14   import javax.swing;
   15   
   16   public class ClassRemoveDialog
   17   	extends JDialog
   18   	implements ActionListener
   19   {
   20   	JPanel contentPane;
   21   	JList classList;
   22   	DefaultListModel listModel;
   23   		
   24   	public ClassRemoveDialog(Frame owner)
   25   	{
   26   		super(owner,"JNI++",true);
   27   		init();
   28   	}
   29   	
   30   	public ArrayList getClassesAffected()
   31   	{
   32   		ArrayList theList = new ArrayList();
   33   		int[] selected = classList.getSelectedIndices();
   34   		for(int i=0; i < selected.length;++i)
   35   		{
   36   			String item = (String)classList.getModel().getElementAt(i);
   37   			theList.add(item);
   38   		}
   39   		return (theList);
   40   	}
   41   
   42   	private void init()
   43   	{
   44   		initWindowListener();
   45   		JButton cmdOK = new JButton(App.getProperty("button-ok.label"));
   46   		cmdOK.setActionCommand("ok");
   47   		cmdOK.addActionListener(this);
   48   		
   49   		JButton cmdCancel = new JButton(App.getProperty("button-cancel.label"));
   50   		cmdCancel.setActionCommand("cancel");
   51   		cmdCancel.addActionListener(this);
   52   
   53   		JLabel instructions = new JLabel(App.getProperty("message.remove-class-instruction"));
   54   		
   55   		classList = new JList();
   56   		listModel = new DefaultListModel();
   57   		classList.setModel(listModel);
   58   		populateList();
   59   		
   60   		GridBagLayout myLayout = new GridBagLayout();
   61   		GridBagConstraints c = new GridBagConstraints();
   62   		getContentPane().setLayout(myLayout);
   63   		
   64   		c.ipadx = 2;
   65   		c.ipady = 2;
   66   		c.insets = new Insets(5,5,5,5);
   67   		
   68   		c.gridwidth = 2;
   69   		myLayout.setConstraints(instructions,c);
   70   		
   71   		c.gridy = 2;
   72   		c.fill = GridBagConstraints.BOTH;
   73   		c.weightx = 1;
   74   		c.weighty = 1;
   75   		c.gridwidth = GridBagConstraints.REMAINDER;
   76   		myLayout.setConstraints(classList,c);
   77   		
   78   		
   79   		c.anchor = GridBagConstraints.EAST;
   80   		c.fill = GridBagConstraints.NONE;
   81   		c.weightx = 0;
   82   		c.weighty = 0;
   83   		c.gridwidth = 1;
   84   		c.gridx = 2;
   85   		c.gridy = 3;
   86   		myLayout.setConstraints(cmdOK,c);
   87   		c.gridx = 3;
   88   		myLayout.setConstraints(cmdCancel,c);
   89   		
   90   		this.setSize(new Dimension(400, 300));
   91   		getContentPane().add(instructions);
   92   		getContentPane().add(classList);
   93   		getContentPane().add(cmdOK);
   94   		getContentPane().add(cmdCancel);
   95   		getRootPane().setDefaultButton(cmdOK);
   96   	}
   97   
   98   	private void populateList()
   99   	{
  100   		//go through project and add classes to list.
  101   		ProjectAdapter project = App.getProject();
  102   		Iterator it = project.getClasses();
  103   		while (it.hasNext() == true)
  104   		{
  105   			ProjectClass field = (ProjectClass) it.next();
  106   			listModel.addElement(field.toString());
  107   		}
  108   	}
  109   	public void actionPerformed(java.awt.event.ActionEvent e) {
  110   		if (e.getActionCommand().equals("ok"))
  111   		{
  112   			hide();
  113   		}
  114   		else
  115   		{
  116   			//TODO: clear selection
  117   			hide();
  118   		}
  119   			
  120   	}
  121   
  122   	private void initWindowListener()
  123   	{
  124   		this.addWindowListener( new WindowAdapter()
  125   		{
  126   			public void windowClosing(WindowEvent e)
  127   			{
  128   				hide();
  129   			}
  130   		});
  131   	}
  132   }

Save This Page
Home » openjdk-7 » net.sourceforge.jnipp » gui » [javadoc | source]