Hi Community!
Ich habe ein Problem.
Ich habe eine Klasse mit GUI-Maske erstellt, in der Informationen über mehrere JFields gespeichert werden sollen und als Parameter für ein Objekt verwendet werden sollen, welches auch gleich erstellt werden soll.
Das klappt aber nicht so ganz
Ich weiss, es ist sehr unelegant gelöst, aber die build() methode soll eben die JFields auslesen und ein Mitarbeiter-Objekt mit den Parametern ( Name, Vornameetc ) erstellen
Bitte helft mir!
Ich habe ein Problem.
Ich habe eine Klasse mit GUI-Maske erstellt, in der Informationen über mehrere JFields gespeichert werden sollen und als Parameter für ein Objekt verwendet werden sollen, welches auch gleich erstellt werden soll.
Das klappt aber nicht so ganz
Java:
import javax.swing.*;
import java.awt.Dimension;
import java.awt.event.*;
public class Mitarbeiter_GUI extends JFrame implements ActionListener {
JFrame mitarb = new JFrame();
JTextField feld_name = new JTextField();
JTextField feld_vorname = new JTextField();
JTextField feld_adresse = new JTextField();
JTextField feld_telefon = new JTextField();
JTextField feld_email = new JTextField();
JTextField feld_geburtstag = new JTextField();
JTextField feld_entgelt = new JTextField();
JTextField quali1 = new JTextField();
JTextField quali2 = new JTextField();
JTextField quali3 = new JTextField();
JTextField quali4 = new JTextField();
JCheckBox c_intern = new JCheckBox();
JCheckBox c_extern = new JCheckBox();
JButton save = new JButton();
JButton abbort = new JButton();
JButton match = new JButton();
JLabel label_mitarbeiter = new JLabel();
JLabel label_stelle = new JLabel();
JLabel label1 = new JLabel();
JLabel label2 = new JLabel();
JLabel label3 = new JLabel();
JLabel label4 = new JLabel();
JLabel label5 = new JLabel();
JLabel label6 = new JLabel();
JLabel label7 = new JLabel();
JLabel label8 = new JLabel();
JLabel label9 = new JLabel();
JLabel labelquali1 = new JLabel();
JLabel labelquali2 = new JLabel();
JLabel labelquali3 = new JLabel();
Dimension dm = new Dimension(1120, 750);
JTextField feld_projektname = new JTextField();
JTextField feld_projektinhalt = new JTextField();
JTextField feld_stellenbudget = new JTextField();
JTextField feld_projektrolle = new JTextField();
JTextField feld_dauer = new JTextField();
JTextField quali5 = new JTextField();
JTextField quali6 = new JTextField();
JTextField quali7 = new JTextField();
JTextField quali8 = new JTextField();
JButton save2 = new JButton();
JButton abbort2 = new JButton();
JButton match2 = new JButton();
JLabel label10 = new JLabel();
JLabel label11 = new JLabel();
JLabel label12 = new JLabel();
JLabel label13 = new JLabel();
JLabel label14 = new JLabel();
JLabel labelquali4 = new JLabel();
JLabel labelquali5 = new JLabel();
JLabel labelquali6 = new JLabel();
public void initComponents() {
mitarb.setTitle("Skillplan");
mitarb.setLayout(null);
mitarb.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
feld_name.setPreferredSize(new Dimension(100,20));
feld_vorname.setPreferredSize(new Dimension(100,20));
feld_adresse.setPreferredSize(new Dimension(100,20));
feld_telefon.setPreferredSize(new Dimension(100,20));
feld_email.setPreferredSize(new Dimension(100,20));
feld_geburtstag.setPreferredSize(new Dimension(100,20));
feld_entgelt.setPreferredSize(new Dimension(100,20));
quali1.setPreferredSize(new Dimension(100,20));
quali2.setPreferredSize(new Dimension(100,20));
quali3.setPreferredSize(new Dimension(100,20));
quali4.setPreferredSize(new Dimension(100,20));
save.setText("Mitarbeiter speichern");
abbort.setText("Abbrechen");
match.setText("Match");
mitarb.add(save);
mitarb.add(abbort);
mitarb.add(match);
save.addActionListener(this);
abbort.addActionListener(this);
match.addActionListener(this);
save.setActionCommand("speichern");
abbort.setActionCommand("abbrechen");
match.setActionCommand("match");
mitarb.add(c_intern);
mitarb.add(c_extern);
label_mitarbeiter.setText("Mitarbeiter erstellen:");
label_stelle.setText("Stelle anlegen:");
mitarb.add(label_mitarbeiter);
mitarb.add(label_stelle);
label1.setText("Name");
mitarb.add(label1);
mitarb.add(feld_name);
label2.setText("Vorname");
mitarb.add(label2);
mitarb.add(feld_vorname);
label3.setText("Adresse");
mitarb.add(label3);
mitarb.add(feld_adresse);
label4.setText("Telefonnummer");
mitarb.add(label4);
mitarb.add(feld_telefon);
label5.setText("E-Mail");
mitarb.add(label5);
mitarb.add(feld_email);
label6.setText("Geburtsdatum");
mitarb.add(label6);
mitarb.add(feld_geburtstag);
label7.setText("Intern");
mitarb.add(label7);
label8.setText("Extern");
mitarb.add(label8);
//mitarb.setPreferredSize(dm);
labelquali1.setText("Art des Hochschulabschlusses");
labelquali2.setText("Fachgebiet");
labelquali3.setText("Weitere Kompetenzen");
mitarb.add(labelquali1);
mitarb.add(quali1);
mitarb.setPreferredSize(dm);
mitarb.add(labelquali2);
mitarb.add(quali2);
mitarb.add(labelquali3);
mitarb.add(quali3);
mitarb.add(quali4);
label9.setText("Entgelt");
mitarb.add(label9);
mitarb.add(feld_entgelt);
int x =30;
label_mitarbeiter.setBounds(50, x, 150, 20);x=x+70;
label1.setBounds(50, x, 60, 20);
feld_name.setBounds(250, x, 250, 20);
x=x+30;
label2.setBounds(50,x, 60, 20);
feld_vorname.setBounds(250, x, 250, 20);
x=x+30;
label3.setBounds(50, x, 60, 20);
feld_adresse.setBounds(250, x, 250, 20);x=x+30;
label4.setBounds(50,x, 160, 20);
feld_telefon.setBounds(250, x, 250, 20);x=x+30;
label5.setBounds(50, x, 60, 20);
feld_email.setBounds(250, x, 250, 20);x=x+30;
label6.setBounds(50,x, 160, 20);
feld_geburtstag.setBounds(250, x, 250, 20);x=x+50;
label7.setBounds(50, x, 60, 20);
c_intern.setBounds(150, x, 20, 20);
c_extern.setBounds(300, x, 20, 20);
label8.setBounds(250,x, 160, 20);x=x+50;
labelquali1.setBounds(50, x, 180, 20);
quali1.setBounds(250, x, 250, 20);
x=x+30;
labelquali2.setBounds(50,x, 160, 20);
quali2.setBounds(250, x, 250, 20);
x=x+30;
labelquali3.setBounds(50, x, 160, 20);
quali3.setBounds(250, x, 250, 20);x=x+30;
quali4.setBounds(250, x, 250, 20);x=x+50;
label9.setBounds(50,x, 60, 20);
feld_entgelt.setBounds(250, x, 150, 20);x=x+60;
save.setBounds(50, x, 190, 25);x=x+75;
match.setBounds(50, x, 100, 50);
abbort.setBounds(200, x, 100, 50);
mitarb.setVisible(true);
mitarb.pack();
feld_projektname.setPreferredSize(new Dimension(100,20));
feld_projektinhalt.setPreferredSize(new Dimension(100,20));
feld_stellenbudget.setPreferredSize(new Dimension(100,20));
feld_projektrolle.setPreferredSize(new Dimension(100,20));
feld_dauer.setPreferredSize(new Dimension(100,20));
quali5.setPreferredSize(new Dimension(100,20));
quali6.setPreferredSize(new Dimension(100,20));
quali7.setPreferredSize(new Dimension(100,20));
quali8.setPreferredSize(new Dimension(100,20));
save2.setText("Stelle anlegen");
mitarb.add(save2);
save.addActionListener(this);
abbort.addActionListener(this);
match.addActionListener(this);
save.setActionCommand("speichern");
abbort.setActionCommand("abbrechen");
match.setActionCommand("match");
label10.setText("Projektname");
mitarb.add(label10);
mitarb.add(feld_projektname);
label11.setText("Projektinhalt");
mitarb.add(label11);
mitarb.add(feld_projektinhalt);
label12.setText("Stellenbudget");
mitarb.add(label12);
mitarb.add(feld_stellenbudget);
label13.setText("Projektrolle");
mitarb.add(label13);
mitarb.add(feld_projektrolle);
label14.setText("Dauer");
mitarb.add(label14);
mitarb.add(feld_dauer);
labelquali4.setText("Art des Hochschulabschlusses");
labelquali5.setText("Fachgebiet");
labelquali6.setText("Weitere Kompetenzen");
mitarb.add(labelquali4);
mitarb.add(quali5);
mitarb.setPreferredSize(dm);
mitarb.add(labelquali5);
mitarb.add(quali6);
mitarb.add(labelquali6);
mitarb.add(quali7);
mitarb.add(quali8);
int x2 =30;
label_stelle.setBounds(600, x2, 100, 20);x2=x2+70;
label10.setBounds(600, x2, 160, 20);
feld_projektname.setBounds(800, x2, 250, 20);
x2=x2+30;
label11.setBounds(600, x2, 160, 20);
feld_projektinhalt.setBounds(800, x2, 250, 80);
x2=x2+90;
label12.setBounds(600, x2, 160, 20);
feld_stellenbudget.setBounds(800, x2, 250, 20);x2=x2+30;
label13.setBounds(600,x2, 160, 20);
feld_projektrolle.setBounds(800, x2, 250, 20);x2=x2+30;
label14.setBounds(600, x2, 60, 20);
feld_dauer.setBounds(800, x2, 250, 20);x2=x2+50;
labelquali4.setBounds(600, x2, 180, 20);
quali5.setBounds(800, x2, 250, 20);
x2=x2+30;
labelquali5.setBounds(600,x2, 160, 20);
quali6.setBounds(800, x2, 250, 20);
x2=x2+30;
labelquali6.setBounds(600, x2, 160, 20);
quali7.setBounds(800, x2, 250, 20);x2=x2+30;
quali8.setBounds(800, x2, 250, 20);x2=x2+50;
save2.setBounds(600, x2, 150, 25);
}
int counter = 0;
static String[][] Dimension = new String[15][];
static String[] Mitarbeiterx = new String[11];
public static String[] getM() {
return Mitarbeiterx;
}
public void build() {
Mitarbeiterx[0] = feld_name.getText();
Mitarbeiterx[1] = feld_vorname.getText();
Mitarbeiterx[2] = feld_adresse.getText();
Mitarbeiterx[3] = feld_telefon.getText();
Mitarbeiterx[4] = feld_email.getText();
Mitarbeiterx[5] = feld_geburtstag.getText();
Mitarbeiterx[6] = feld_entgelt.getText();
Mitarbeiterx[7] = quali1.getText();
Mitarbeiterx[8] = quali2.getText();
Mitarbeiterx[9] = quali3.getText();
Mitarbeiterx[10] = quali4.getText();
}
public void actionPerformed(ActionEvent event) {
if ("speichern".equals(event.getActionCommand())) {
build();
feld_name.setText("");
feld_vorname.setText("");
feld_adresse.setText("");
feld_telefon.setText("");
feld_email.setText("");
feld_geburtstag.setText("");
feld_entgelt.setText("");
quali1.setText("");
quali2.setText("");
quali3.setText("");
quali4.setText("");
c_intern.setSelected(false);
c_extern.setSelected(false);
}
if ("match".equals(event.getActionCommand())){
for ( int i = 0; i<11; i++) {
System.out.println(Mitarbeiterx[i]);
}
}
if ("abbrechen".equals(event.getActionCommand())){
mitarb.dispose();
}
}
}
Ich weiss, es ist sehr unelegant gelöst, aber die build() methode soll eben die JFields auslesen und ein Mitarbeiter-Objekt mit den Parametern ( Name, Vornameetc ) erstellen
Bitte helft mir!