import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import javax.swing.BoxLayout;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.ListCellRenderer;
public class FeatureCollectionPanel extends JPanel
{
private JScrollPane jScrollPane1 = new JScrollPane();
private JPanel m_buttonPanel = new JPanel();
private JScrollPane jScrollPane2 = new JScrollPane();
private JButton m_hinzuButton = new JButton();
private JButton m_wegButton = new JButton();
private JButton allesHinzuButton = new JButton();
private JButton m_allesWegButton = new JButton();
private JList m_sourceList = new JList();
private JList m_goalList = new JList();
private GridBagLayout gridBagLayout2 = new GridBagLayout();
public FeatureCollectionPanel()
{
try
{
jbInit();
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
private void jbInit() throws Exception
{
m_goalList.setModel(new DefaultListModel());
BoxLayout boxLayout21 = new BoxLayout(this,BoxLayout.X_AXIS);
this.setLayout(boxLayout21);
m_buttonPanel.setLayout(gridBagLayout2);
m_hinzuButton.setText("Hinzufügen");
m_hinzuButton.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(ActionEvent e)
{
m_hinzuButton_actionPerformed(e);
}
});
m_wegButton.setText("Entfernen");
m_wegButton.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(ActionEvent e)
{
m_wegButton_actionPerformed(e);
}
});
allesHinzuButton.setText("Alles Hinzufügen");
allesHinzuButton.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(ActionEvent e)
{
allesHinzuButton_actionPerformed(e);
}
});
m_allesWegButton.setText("Alles Entfernen");
m_allesWegButton.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(ActionEvent e)
{
m_allesWegButton_actionPerformed(e);
}
});
jScrollPane1.setMinimumSize(new Dimension(150, 200));
jScrollPane1.setPreferredSize(new Dimension(150, 200));
jScrollPane2.setMinimumSize(new Dimension(150, 200));
jScrollPane2.setPreferredSize(new Dimension(150, 200));
m_buttonPanel.setMaximumSize(new Dimension(140, 32767));
m_buttonPanel.setMinimumSize(new Dimension(140, 200));
m_buttonPanel.setPreferredSize(new Dimension(140, 200));
this.add(jScrollPane1, null);
jScrollPane1.getViewport().add(m_sourceList, null);
this.add(m_buttonPanel, null);
m_buttonPanel.add(m_hinzuButton, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0
,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(5, 5, 5, 5), 0, 0));
m_buttonPanel.add(m_wegButton, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0
,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(5, 5, 5, 5), 0, 0));
m_buttonPanel.add(allesHinzuButton, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0
,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(5, 5, 5, 5), 0, 0));
m_buttonPanel.add(m_allesWegButton, new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0
,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(5, 5, 5, 5), 0, 0));
this.add(jScrollPane2, null);
jScrollPane2.getViewport().add(m_goalList, null);
}// end of jbInit()
public void setFeatureList(java.util.List features)
{
DefaultListModel sModel = new DefaultListModel();
for (int i=0; features!=null && i<features.size(); i++)
{
sModel.addElement(features.get(i));
}
m_sourceList.setModel(sModel);
}
public void setFeatureList(Object[] features)
{
DefaultListModel sModel = new DefaultListModel();
for (int i=0; features !=null && i<features.length; i++)
{
sModel.addElement(features[i]);
}
m_sourceList.setModel(sModel);
}
public Object[] getFeatureList()
{
DefaultListModel sModel = (DefaultListModel)m_sourceList.getModel();
Object[] objekte = new Object[sModel.size()];
sModel.copyInto(objekte);
return objekte;
}
public void setCellRenderer(ListCellRenderer renderer)
{
m_goalList.setCellRenderer(renderer);
m_sourceList.setCellRenderer(renderer);
}
public ListCellRenderer getCellRenderer()
{
return m_goalList.getCellRenderer();
}
public Object[] getCollectedFeatures()
{
DefaultListModel gModel = (DefaultListModel) m_goalList.getModel();
Object[] objekte = new Object[gModel.size()];
gModel.copyInto(objekte);
return objekte;
}
public void setCollectedFeatures(java.util.List features)
{
DefaultListModel sModel = new DefaultListModel();
for (int i=0; features!=null && i<features.size(); i++)
{
sModel.addElement(features.get(i));
}
m_goalList.setModel(sModel);
}
public void setCollectedFeatures(Object[] features)
{
DefaultListModel sModel = new DefaultListModel();
for (int i=0; features != null && i<features.length; i++)
{
sModel.addElement(features[i]);
}
m_goalList.setModel(sModel);
}
private void m_hinzuButton_actionPerformed(ActionEvent e)
{
Object [] objekte = m_sourceList.getSelectedValues();
DefaultListModel gModel = (DefaultListModel)m_goalList.getModel();
for (int i=0; i<objekte.length; i++)
{
if (!gModel.contains(objekte[i]))
{
gModel.addElement(objekte[i]);
}
}
}
private void m_wegButton_actionPerformed(ActionEvent e)
{
Object [] objekte = m_goalList.getSelectedValues();
DefaultListModel gModel = (DefaultListModel)m_goalList.getModel();
for (int i=0; i<objekte.length; i++)
{
gModel.removeElement(objekte[i]);
}
}
private void allesHinzuButton_actionPerformed(ActionEvent e)
{
Object [] objekte = ((DefaultListModel)m_sourceList.getModel()).toArray();
DefaultListModel gModel = (DefaultListModel)m_goalList.getModel();
gModel.clear();
for (int i=0; i<objekte.length; i++)
{
gModel.addElement(objekte[i]);
}
}
private void m_allesWegButton_actionPerformed(ActionEvent e)
{
((DefaultListModel)m_goalList.getModel()).clear();
}
}// end of class FeatureCollectionPanel