G
Gast
Gast
Hallo,
einen schönen 1. Advent allerseits.
Die Frage vorweg: Ist mein nachstehend erklärtes Vorgehen aus OOP Sicht vertretbar oder muss
ich das Pferd ganz anders aufzäumen ?
Ich habe ein Problem mit dem richtigen Vorgehen zum Erzeugen meiner Formulare. Man muss sich
vorstellen, dass viele Formulare fast identisch sind:
So habe ich eine Klasse "Form" mit der ich alle Formulare erzeuge.
1.) Ein Konstruktor der einen Typ übergeben bekomt:
2.) Eine Arraylist mit Components
Im Konstruktor dann:
Jetzt habe ich eine Funktion vom Typ JPanel, die alle Komponenten in der ArrayList zuweist.
So erzeuge ich die Ansichen der Formulare und die Datenerfassung..
Ist das so OOP mäßig OK. Immerhin kann ich so mit 2, 3 Funktionen viele verschiedene Forms und Ansichten erzeugen.
Vererbung benutze ich hierfür nicht...
Viele Grüße
einen schönen 1. Advent allerseits.
Die Frage vorweg: Ist mein nachstehend erklärtes Vorgehen aus OOP Sicht vertretbar oder muss
ich das Pferd ganz anders aufzäumen ?
Ich habe ein Problem mit dem richtigen Vorgehen zum Erzeugen meiner Formulare. Man muss sich
vorstellen, dass viele Formulare fast identisch sind:
So habe ich eine Klasse "Form" mit der ich alle Formulare erzeuge.
1.) Ein Konstruktor der einen Typ übergeben bekomt:
Code:
public Form(String type){
this.type = type;
2.) Eine Arraylist mit Components
Im Konstruktor dann:
Code:
//hier alle identischen Formulare in die ArrayList
components.add(anrede);
components.add(vorname);
components.add(name);
......
//Jetzt die Unterteilung--------
if (type == "xxx" || type == "yyy")
{
components.add(nummer);
components.add(bla);
components.add(button);
}
else if (type == "sss" || type == "zzz")
{
components.add(nummeranders);
components.add(blub);
components.add(buttonanders);
}
}//Konstruktor
Jetzt habe ich eine Funktion vom Typ JPanel, die alle Komponenten in der ArrayList zuweist.
Code:
else if( comp instanceof JComboBox ) {
if ( type.equals("xxx") || type.equals("yyy"))
((JComboBox) comp).setEditable(false);
//ComboBox
buildConstraints(constraints, 1, 5, 1, 1, 20, 20);
constraints.fill = GridBagConstraints.NONE;
constraints.anchor = GridBagConstraints.WEST;
((JComboBox) comp).setSelectedIndex(1);
allgemein.add( comp, constraints);
}
else if( comp instanceof JTextField ) {
....
}
else if( comp instanceof JTextArea ) {
}
So erzeuge ich die Ansichen der Formulare und die Datenerfassung..
Ist das so OOP mäßig OK. Immerhin kann ich so mit 2, 3 Funktionen viele verschiedene Forms und Ansichten erzeugen.
Vererbung benutze ich hierfür nicht...
Viele Grüße