import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class GUI extends JFrame
{
private JFrame f;
private JTextField tfNname;
private JTextField tfVname;
private JTextField tfStrasse;
private JTextField tfOrt;
private JTextField tfAnzahl;
private JPanel pLabel;
private JPanel pField;
private JPanel pButton;
private JButton save;
private JButton clear;
private JButton next;
private JButton last;
private JButton newp;
private Person[] pers;
public int persAnz;
private int curPos;
public static void main(String[] args)
{
GUI g = new GUI();
}
public GUI()
{
super("Eingabeformular");
getContentPane().setLayout(new BorderLayout());
//setSize(300,300);
setLocation(300,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel lNname = new JLabel("Name");
JLabel lVname = new JLabel("Nachname");
JLabel lStrasse = new JLabel("Strasse");
JLabel lOrt = new JLabel("Ort");
JLabel lAnzahl = new JLabel("Position");
tfNname = new JTextField(15);
tfVname = new JTextField(15);
tfStrasse = new JTextField(15);
tfOrt = new JTextField(15);
tfAnzahl = new JTextField(15);
pLabel = new JPanel(new GridLayout(5,1));
pLabel.add(lNname);
pLabel.add(lVname);
pLabel.add(lStrasse);
pLabel.add(lOrt);
pLabel.add(lAnzahl);
getContentPane().add(BorderLayout.WEST, pLabel);
pField = new JPanel(new GridLayout(5,1));
pField.add(tfVname);
pField.add(tfNname);
pField.add(tfStrasse);
pField.add(tfOrt);
pField.add(tfAnzahl);
getContentPane().add(pField);
pButton = new JPanel(new GridLayout(2,3));
save = new JButton("Save");
clear = new JButton ("Clear");
next = new JButton("Next");
last = new JButton("Last");
newp = new JButton("New");
pButton.add(save);
pButton.add(newp);
pButton.add(clear);
pButton.add(last);
pButton.add(next);
getContentPane().add(BorderLayout.SOUTH, pButton);
addButtonListener(save);
addButtonListener(clear);
addButtonListener(newp);
addButtonListener(last);
addButtonListener(next);
pers = new Person[10];
persAnz=0;
curPos=-1;
updateAnz();
pack();
setVisible(true);
}
private void addButtonListener(JButton jb)
{
jb.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
eingabe(ae.getActionCommand());
}
});
}
private void eingabe(String k)
{
if(k.equals("Save"))
{
pers[persAnz] = new Person();
pers[persAnz].setVname(tfVname.getText());
pers[persAnz].setNname(tfNname.getText());
pers[persAnz].setStrasse(tfStrasse.getText());
pers[persAnz].setOrt(tfOrt.getText());
persAnz++;
curPos=persAnz-1;
updateAnz();
save.setEnabled(false);
}
if(k.equals("Clear"))
{
clearTextField();
}
if(k.equals("Next"))
{
if(curPos+1 <= persAnz-1)
{
curPos++;
fillField(curPos);
updateAnz();
}
}
if(k.equals("Last"))
{
if(curPos-1 >= 0)
{
curPos--;
fillField(curPos);
updateAnz();
}
}
if(k.equals("New"))
{
clearTextField();
tfVname.requestFocus();
save.setEnabled(true);
}
}
private void updateAnz()
{
tfAnzahl.setText((curPos+1)+" / "+persAnz);
}
private void fillField(int pos)
{
tfNname.setText(pers[curPos].getNname());
tfVname.setText(pers[curPos].getVname());
tfStrasse.setText(pers[curPos].getStrasse());
tfOrt.setText(pers[curPos].getOrt());
}
private void clearTextField()
{
tfNname.setText("");
tfVname.setText("");
tfStrasse.setText("");
tfOrt.setText("");
}
}