Hallo Java-Forum,
ich bin jetzt schon seit ein paar Monaten dabei, mit Java Programme zu schreiben und so langsam wird's Zeit den Schand-Stil niederzulegen und sauberen Code zu fabrizieren. Ich habe hier jetzt eine kleine GUI gamacht und möchte von euch wissen, wie man sowas wirklich gut macht.
Folgende Sachen sind mir bekannt:
-kein setVisible() in den Konstruktor, sondern nur in den Caller
-exetends JFrame implements ActionListener = Strom abstellen, Programmierverbot für immer
-Komponenten gehören wie immer private
-klare Variablenbezeichnungen
Bei dem Versuch das alles zu berücksichtigen ist irgendwie was schiefgelaufen glaube ich. Ich habe keinen Konstruktor, weshalb alle Komponenten static sind(habe ich noch nirgends vorher gesehen :autsch.
Wie realisiere ich das wenn ich mehrere Fenster in einem Programm habe(Die main-Methode ist so vollgeballert:'()
MfG
ich bin jetzt schon seit ein paar Monaten dabei, mit Java Programme zu schreiben und so langsam wird's Zeit den Schand-Stil niederzulegen und sauberen Code zu fabrizieren. Ich habe hier jetzt eine kleine GUI gamacht und möchte von euch wissen, wie man sowas wirklich gut macht.
Folgende Sachen sind mir bekannt:
-kein setVisible() in den Konstruktor, sondern nur in den Caller
-exetends JFrame implements ActionListener = Strom abstellen, Programmierverbot für immer
-Komponenten gehören wie immer private
-klare Variablenbezeichnungen
Bei dem Versuch das alles zu berücksichtigen ist irgendwie was schiefgelaufen glaube ich. Ich habe keinen Konstruktor, weshalb alle Komponenten static sind(habe ich noch nirgends vorher gesehen :autsch.
Wie realisiere ich das wenn ich mehrere Fenster in einem Programm habe(Die main-Methode ist so vollgeballert:'()
Java:
import java.awt.BorderLayout;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Main {
private final static GridLayout komponentLayout = new GridLayout(4,2);
private final static BorderLayout fensterLayout = new BorderLayout();
private final static JPanel hintergrund = new JPanel();
private final static JPanel komponenten = new JPanel();
private final static JPanel steuerung = new JPanel();
private final static JTextField edtvorname = new JTextField();
private final static JTextField edtnachname = new JTextField();
private final static JTextField edttelNummer = new JTextField();
private final static JTextField edtpostleitzahl = new JTextField();
private final static JLabel vorname = new JLabel("Vorname: ");
private final static JLabel nachname = new JLabel("Nachname: ");
private final static JLabel telNummer = new JLabel("Telefonnummer: ");
private final static JLabel postleitzahl = new JLabel("Postleitzahl: ");
private final static JButton speichern = new JButton("Speichern");
public static void main(String[] args) {
JFrame fenster = new JFrame();
fenster.setSize(500,300);
fenster.setTitle("Daten");
fenster.setResizable(false);
fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenster.add(hintergrund);
hintergrund.setLayout(fensterLayout);
hintergrund.add(komponenten, BorderLayout.CENTER);
hintergrund.add(steuerung, BorderLayout.SOUTH);
komponenten.setLayout(komponentLayout);
komponenten.add(vorname);
komponenten.add(edtvorname);
komponenten.add(nachname);
komponenten.add(edtnachname);
komponenten.add(telNummer);
komponenten.add(edttelNummer);
komponenten.add(postleitzahl);
komponenten.add(edtpostleitzahl);
steuerung.setLayout(new BorderLayout());
steuerung.add(speichern, BorderLayout.EAST);
fenster.setVisible(true);
}
}
MfG