import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;
public class UserStart extends JFrame implements ActionListener{
String user;
JList list;
DefaultListModel model;
JPanel pan1, pan2, pan3, pan4;
JButton but1, but2, but3;
JComboBox combo1;
EntryHash entryHash;
public UserStart(String title, String user){
super(title);
setSize(421, 331);
setPreferredSize(new Dimension (421, 331));
setDefaultCloseOperation(EXIT_ON_CLOSE);
this.user = user;
Toolkit kit = Toolkit.getDefaultToolkit();
setLocation(kit.getScreenSize().width/2-getSize().width/2,
kit.getScreenSize().height/2-getSize().height/2);
DefaultListModel model = new DefaultListModel();
list = new JList(model);
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
entryHash = new EntryHash(user, model);
pan1 = new JPanel();
pan1.setPreferredSize(new Dimension(150,290));
pan1.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createEmptyBorder(2,2,2,2),
BorderFactory.createTitledBorder(
BorderFactory.createLineBorder(Color.black),
"Einträge")));
pan1.setLayout(new GridLayout(1,1));
pan1.add(new JScrollPane(list));
pan2 = new JPanel();
pan2.setPreferredSize(new Dimension(250, 290));
pan3 = new JPanel();
pan3.setPreferredSize(new Dimension(245, 220));
pan3.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createEmptyBorder(2,2,2,2),
BorderFactory.createTitledBorder(
BorderFactory.createLineBorder(Color.black),
"Infos")));
but1 = new JButton("Neu");
but1.addActionListener(this);
but2 = new JButton("Editieren");
but2.addActionListener(this);
but3 = new JButton("Löschen");
but3.addActionListener(this);
Vector<String> vec = new Vector<String>();
vec.add("nach Nachnamen sortieren");
vec.add("nach Vornamen sortieren");
combo1 = new JComboBox(vec);
combo1.addActionListener(this);
pan2.setLayout(new BorderLayout());
pan2.add(pan3, BorderLayout.NORTH);
pan4 = new JPanel();
pan4.setLayout(new FlowLayout());
pan4.add(but1); pan4.add(but2); pan4.add(but3); pan4.add(combo1);
pan2.add(pan4, BorderLayout.CENTER);
getContentPane().setLayout(new FlowLayout());
getContentPane().add(pan1); getContentPane().add(pan2);
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent evt){
String cmd = evt.getActionCommand();
if(cmd.equals("Neu")){
EntryEdit edit = new EntryEdit(this, cmd, true, entryHash);
}
else if(cmd.equals("Löschen")){
String tmp = (String)list.getSelectedValue();
if(tmp != null){
int check = JOptionPane.showConfirmDialog(this,
"Möchten sie den Eintrag wirklich löschen?", "Löschen",
JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE);
if(check==JOptionPane.OK_OPTION){
entryHash.delEle(tmp);
}
}
}
else if(cmd.equals("Editieren")){
String tmp = (String)list.getSelectedValue();
if(tmp != null){
Entry entry = entryHash.getEle(tmp);
EntryEdit edit = new EntryEdit(this, cmd, true, entryHash, entry);
}
}
}
public void paintComponent(Graphics g){
super.paintComponent(g);
}
public static void main(String[] args){
UserStart start = new UserStart("","Andy");
}
}