Hallo Leute
Ich fange gerade erst mit Java an und habe schon das erste Problem wo ich nicht weiterkomme.
Ist bestimmt ein ganz Banales (für euch) aber ich beiss mir im Moment echt die Zähne dran aus.
Ich habe auf Basis des bisher erlernten versucht ein Kleines Script zu erstellen, welches eine Eingabe in ein Text Feld erwartet und nach Klick auf Button diesen Text in ein Label schreiben soll.
Ich habe dies in ein AWT gepackt (als kleines Fenster) und zwei EventListener geschrieben, die einmal das Fenster schließen und zum anderen die geänderte Ausgabe vornehmen sollen, also wenn der Butoon geklickt wird.
Dies soll in einem Interface (myListener) geschehen.
Bis Dato soweit ganz gut.
Das Fenster mit den Elementen wird angezeigt und beim Klick auf Button passiert etwas, nämlich, wenn ich dort label.setText("Danke"); hineinchreibe, das mir im Label dann "Danke" angezeigt wird.
Allerdings möchte ich ja Text aus dem Eingabe Feld dort anzeigen lassen.
Die wollte ich mit label.setText(eingabeFeld.getText()); realisieren, was aber leider so wie ich das machen möchte, nicht funktioniert.
Und hier ist mein Problem, ich weiß nicht welchen Fehler ich hier begehe.
Ich habe das Script zu Veranschaulichung mal mit angehängt, in der Hoffnung ihr könnt mir hier einen Tipp geben wie ich das realisieren kann.
Die Fehlermeldungen habe ich unter dem Script auch mal mit angehängt, mit dem Hinweis das ich gerade mit Java anfangen habe und diese Fehler noch nicht richtig deuten kann.
Danke im Vorraus
Fehlermeldungen :
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at EigeneAnwendung$myListener.actionPerformed(EigeneAnwendung.java:48)
at java.awt.Button.processActionEvent(Button.java:392)
at java.awt.Button.processEvent(Button.java:360)
at java.awt.Component.dispatchEventImpl(Component.java:4583)
at java.awt.Component.dispatchEvent(Component.java:4413)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Ich fange gerade erst mit Java an und habe schon das erste Problem wo ich nicht weiterkomme.
Ist bestimmt ein ganz Banales (für euch) aber ich beiss mir im Moment echt die Zähne dran aus.
Ich habe auf Basis des bisher erlernten versucht ein Kleines Script zu erstellen, welches eine Eingabe in ein Text Feld erwartet und nach Klick auf Button diesen Text in ein Label schreiben soll.
Ich habe dies in ein AWT gepackt (als kleines Fenster) und zwei EventListener geschrieben, die einmal das Fenster schließen und zum anderen die geänderte Ausgabe vornehmen sollen, also wenn der Butoon geklickt wird.
Dies soll in einem Interface (myListener) geschehen.
Bis Dato soweit ganz gut.
Das Fenster mit den Elementen wird angezeigt und beim Klick auf Button passiert etwas, nämlich, wenn ich dort label.setText("Danke"); hineinchreibe, das mir im Label dann "Danke" angezeigt wird.
Allerdings möchte ich ja Text aus dem Eingabe Feld dort anzeigen lassen.
Die wollte ich mit label.setText(eingabeFeld.getText()); realisieren, was aber leider so wie ich das machen möchte, nicht funktioniert.
Und hier ist mein Problem, ich weiß nicht welchen Fehler ich hier begehe.
Ich habe das Script zu Veranschaulichung mal mit angehängt, in der Hoffnung ihr könnt mir hier einen Tipp geben wie ich das realisieren kann.
Die Fehlermeldungen habe ich unter dem Script auch mal mit angehängt, mit dem Hinweis das ich gerade mit Java anfangen habe und diese Fehler noch nicht richtig deuten kann.
Danke im Vorraus
Java:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class EigeneAnwendung extends Frame {
// Instanzvariablen
private Button button1;
private Label label2,label;
private TextField eingabeFeld;
private String text;
// Konstruktor
EigeneAnwendung() {
// Methode für Fenstertitel der Basisklasse überschreiben
super("Eigene Anwendung");
// Null Layout festlegen
this.setLayout(null);
// Label definieren
label = new Label("Drücke den Knopf!");
label.setBounds(65, 30, 130, 23);
label.setForeground(Color.YELLOW);
// Label2 definieren
label2 = new Label("Eingabefeld : ");
label2.setBounds(10, 58, 80, 23);
// Eingabefeld definieren
TextField eingabeFeld = new TextField();
eingabeFeld.setBounds(90,60,120,20);
eingabeFeld.setBackground(Color.orange);
eingabeFeld.setText("Eingabe hier");
// Button definieren
Button button1 = new Button();
button1.setBounds(65, 95, 100, 23);
button1.setLabel("OK");
// Elemente anzeigen
this.add(label, null);
this.add(label2, null);
this.add(eingabeFeld, null);
this.add(button1, null);
// Registrieren von Button
button1.addActionListener(new myListener());
// Registrieren von SchließenWindow
this.addWindowListener(new SchließenWindow());
}
// Interface für Buttonereignis (EventListener)
class myListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
// Hier ist der Fehler ???
label.setText(eingabeFeld.getText());
}
}
// Interface für Fenster schließen (LstenerAdapter)
class SchließenWindow extends WindowAdapter {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
// Methode main
public static void main(String[] args) {
// Instanz für Objekt fenster setzen
EigeneAnwendung fenster = new EigeneAnwendung();
// Hintergrundfarbe und Fenstergröße festlegen
fenster.setBackground(Color.LIGHT_GRAY);
fenster.setSize(230,130);
// Fenster anzeigen
fenster.setVisible(true);
}
}
Fehlermeldungen :
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at EigeneAnwendung$myListener.actionPerformed(EigeneAnwendung.java:48)
at java.awt.Button.processActionEvent(Button.java:392)
at java.awt.Button.processEvent(Button.java:360)
at java.awt.Component.dispatchEventImpl(Component.java:4583)
at java.awt.Component.dispatchEvent(Component.java:4413)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Zuletzt bearbeitet: