möchte gerne meine Listener in eine eigene Klasse stecken. Das funktioniert aber noch nicht so richtig. Hier mein Ansatz.
Das ist die eigentliche Datei
Java:
JPanel nachrichten =newJPanel();
nachrichten.setBorder(BorderFactory.createTitledBorder("Nachrichten"));String chat ="Chat wird gestartet...\n";finalJTextArea nachrichtenfeld =newJTextArea(chat,15,30);
nachrichtenfeld.setEditable(false);
nachrichten.add(nachrichtenfeld);
fenster.add(nachrichten,BorderLayout.CENTER);JPanel eingabe =newJPanel(newBorderLayout());
eingabe.setBorder(BorderFactory.createTitledBorder("Eingabe"));JTextField statusText =newJTextField();
eingabe.add(statusText,BorderLayout.NORTH);JButtonSenden=newJButton("Senden");//Übergibt an den ActionListenerSenden.addActionListener(newdoit("Senden"));
Das ist die Klasse doit
Java:
importjava.awt.event.*;//, MouseListenerpublicclass doit implementsActionListener{privateString var_doit;publicdoit(String var_doit){if(var_doit ==null){thrownewNullPointerException();}this.var_doit = var_doit;}@OverridepublicvoidactionPerformed(ActionEvent e){switch(var_doit){case"senden"://Was muss hier hin das es funktioniert ?????String gettext = statusText.getText();String getoldtext = nachrichtenfeld.getText();Textfeld buildstring =newTextfeld(getoldtext, gettext);
nachrichtenfeld.setText(buildstring.giveback());break;default:System.out.println("Alles Falsch!!!");break;}}}
das ist mein Problem ich weiß nicht wie ich diese Referenz auf meine GUI hinbekomme.
Der erste Java Code ist meine klasse frame wo mein ganzes Frame definiert ist. Der zweite Code ist die Klasse doit welche alle Art von Buttons usw. steuern soll.
Gestartet wir das ganze mit der Klasse starter (siehe unten)
Ich komm immer noch nicht drauf. Muss ich da meinen Konstruktor anpassen? Ich will aus einen JTextField Daten auslesen und an einen vorhanden String anfügen. Wie bekomme ich dann die Rückgabe in mein JTextArea? Brauch nochmal einen Tip.
Ja passe den Konstruktor des Listeners an, damit der alle benötigten Infos hat. Sonst steht er da, wie du hier im Forum und braucht noch mehr Tipps. (Ein n1 Vergleich oder?)
Ok danke soweit hab ich es jetzt verstanden. Bloß wie bekomme ich den String wieder zurück zur GUI? Brauch ich dafür eine Methode? Oder kann/muss man das anders machen?