Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Gast1 Gast
|
Verfasst am: 27. Nov 2005 20:17 Titel: Trenning von GUI und Programmlogik. |
|
|
Hier sind erstmal die beiden Klassen die ich verwende:
-----------------------------------------------------------------------------------
public class GUI extends JFrame {
private JTextField t;
private JButton b;
public GUI (ActionListener e) {
super ("sinnfrei");
this.setSize(new Dimension(400,300));
Container con = this.getContentPane();
con.setLayout(new BorderLayout());
JPanel pan = new JPanel();
con.add(pan, BorderLayout.CENTER);
JLabel l = new JLabel("Zahl:");
t = new JTextField(2);
t.addActionListener(e);
pan.add(l);
pan.add(t);
b = new JButton("Go!");
b.addActionListener(e);
pan.add(b);
this.setVisible(true);
}
}
-----------------------------------------------------------------------------------
public class Logik implements ActionListener {
public static void main (String[] args) {
Logik d = new Test();
GUI gui = new GUI(d);
}
public void actionPerformed(ActionEvent e) {
System.out.println("action");
}
}
-----------------------------------------------------------------------------------
import-Anweisungen hab ich weggelassen.
Jetzt zu meiner Frage: Wie kann ich jetzt innerhalb der Logik-Klasse auf Komponenten der GUI zugreifen, z.B. um das Text-Feld auszulesen.
Thx schonmal |
|
Nach oben |
|
|
|
kurellajunior Administrator
Anmeldungsdatum: 14.02.2005 Beiträge: 214 Wohnort: Berlin-Pankow
|
Verfasst am: 27. Nov 2005 20:46 Titel: |
|
|
Prinzipielle Antwort: über einen Pointer auf das Gui-Objekt und entsprechende Getter und Setter-methoden
Spezielel Antwort: ?Ich versteh Deine beiden Klassen nicht ganz? _________________
|
|
Nach oben |
|
|
Gast
|
Verfasst am: 27. Nov 2005 21:13 Titel: |
|
|
Naja, ich hab die Grafischen Komponenten komplett vonder Verarbeitung getrennt.
Weil ich aber einen ActionListener brauche, übergeb ich ihn beim Instanzieren des Gui -Objekts. Der Listener ist die Klasse Logik, die damit die Methode actionPerformed implementieren muss. Mehr ist dazu eigentlich nicht zu sagen.
Wie würdest du die Sache denn implementieren? |
|
Nach oben |
|
|
Gast1 Gast
|
Verfasst am: 27. Nov 2005 22:28 Titel: |
|
|
Ok ich habs hinbekommen, durch deine "prinzipielle Antwort" *g
Thx |
|
Nach oben |
|
|
|