TextField Nullpointer Exc

malufi89

Mitglied
Hallo zusammen.

Ich habe eine "Maske" erstellt, die ein Panel (heißt bei mir Knoten) hinzufügt (oder entfernt), wenn man auf den entsprechenden Button klickt.
Dieses Panel besteht aus einer Nummer (wird automatisch hoch bzw runtergezählt), einer Combobox, und zwei TextFields.

die Combobox funktioniert super mit dem ActionListener. Aber jedes Mal wenn ich in einem der beiden Textfields eine Eingabe mache und Enter drücke, kommt eine Nullpointer exception. (Sobald ich das Textfield mit XY.getText(); anspreche)

Frage1: Woran liegts und wie kann ichs lösen?
Frage 2: Angenommen ich habe mehrere Panels (mit also mehr als 2 Textfields und Comboboxen) erzeugt (diese werden in einem Array gespeichert), (wie) kann ich dann für jedes Panel "manuell" die Action Events auslösen? Dies sollte passieren, wenn ich einen weiteren Button drücke.

Hier ein paar Codeschnipsel die es denk ich brauch um das Problem zu lösen:


private JTextField name;
private JTextField links;
private final int mynumber;
public static ArrayList<String> formen= new ArrayList(100);
public static ArrayList<String> namen= new ArrayList();
public static ArrayList<String> verbindungen= new ArrayList(100);

!!Hinweis: Vorsicht! Ich habe also ein Array das nameN heißt und ein Textfield das name heißt...

Definieren der Boxen etc


Java:
        mynumber=getCounter();
        JComboBox Knotenform = new JComboBox(KnotenForm);
        Knotenform.setSelectedIndex(0);
        Knotenform.addActionListener(this);
        Knotenform.setActionCommand("Knotenform");
        
        JTextField name= new JTextField(10);
        name.setText("Enter Name");
        name.addActionListener(this);
        name.setActionCommand("Name");
        
        
        JTextField links= new JTextField(20);
        links.setText("Enter Linking-Number");
        links.addActionListener(this);
        links.setActionCommand("Verbindung");

        formen.add(mynumber, "none");
        namen.add(mynumber, "none");
        verbindungen.add(mynumber, "");
Java:
@Override
	public void actionPerformed(ActionEvent e) {
			if (e.getActionCommand().equals("Knotenform")){
			JComboBox cb = (JComboBox)e.getSource();
	        String Knotenform = (String)cb.getSelectedItem();
	        
	        if (Knotenform.equals("--Please Choose Knode Format--")){
	        	System.out.println("Nothing chosen");
	        	formen.add(mynumber, "none");
	        	}
	        if (Knotenform.equals("rectangular")){
	        	//System.out.println("rectangular");
	        	formen.add(mynumber, "rectangular");
	        	System.out.println(mynumber + formen.get(mynumber));
	        }
	        if (Knotenform.equals("round")){
	        	//System.out.println("round");
	        	formen.add(mynumber, "round");
	        	System.out.println(mynumber + formen.get(mynumber));
	        }
		}
	
		if (e.getActionCommand().equals("Name")){
			String bla= name.getText();
			namen.add(mynumber, bla);
			System.out.println(mynumber + namen.get(mynumber));
			
		}
		
		if (e.getActionCommand().equals("Verbindung")){
			System.out.println(links.getText());
		    verbindungen.add(mynumber, links.getText());
		}
	}

ich hoffe das Reicht um meine Frage zu beantworten :/
 
Zuletzt bearbeitet von einem Moderator:
B

bygones

Gast
sollen das die instanzvariablen sein ? ala private JTextField name ?

weil du im code JTextField name= new JTextField(10); stehen hast, was eine lokale variable ist und nix mit der instanzvariable zu tun hat

ergo: name= new JTextField(10);
 

XHelp

Top Contributor
Weil deine Instanzvariablen auch null sind. Es sollte so aussehen:
Java:
class Test {
  private JTextField name;
  private void init() {
    name = new JTextField();
    //und NICHT:
    //JTextField name = new JTextField();
  }
}

Du kannst das, was im ActionListener passieren soll auslagern und dann einfach die Methode auch manuell aufrufen. Grob:
Java:
...
public void actionPerformed(ActionEvent e) {
  doSmth();
}
private void doSmth() {
  ....
}
...
 

malufi89

Mitglied
entschuldigt für den doppelpost, es war ja fast zu banal:
Java:
JTextField tf=(JTextField)e.getSource();
			String bla= tf.getText();
so kriege ich den Text...
ah und danke für eure Antworten!

nun also noch die Frage: (Wie) kann ich denn Actions auf einmal abfeuern?

EDIT: Danke vielmals... da hatte ichs mal wieder mit den Variablen. Habe meinen Fehler verstanden. Echt doof.
 
Zuletzt bearbeitet:
S

SlaterB

Gast
stecke deinen Action-Code in normale Methoden, Methoden kannst du genau dann aufrufen wenn du willst,
nicht nur aus dem zugehörigen Listener aus, sondern auch von jeder anderen Codestelle

bzw. steht bei XHelp auch schon
 

malufi89

Mitglied
nur wie spreche ich dabei die einzelnen Knoten(Panels) an?

Kann ich dann einfach mein array ansprechen und sagen
Java:
int i=0;

while (i<Knoten.getKnoten.size()){  
  Knoten k=Knoten.getKnoten().get(i);
  String first=k.name.getText();
  i++;
}
(Knoten.getKnoten() ist also der getter für das Array wo alle Knoten drin sind)
 
S

SlaterB

Gast
grundsätzlich geht fast alles, also auch dazu erstmal ja,
wobei es auch schönere Schleifen gibt..
 

malufi89

Mitglied
ich habs grade probiert und juhu es funktioniert.

ein schöner programmierstil gehört zu dem luxus den ich mir einfach nicht leisten kann :oops: ich bin froh wenn ich halbwegs das hinbekomme, was ich möchte
 
N

nillehammer

Gast
ein schöner programmierstil gehört zu dem luxus den ich mir einfach nicht leisten kann ich bin froh wenn ich halbwegs das hinbekomme, was ich möchte
Das denkst Du ca. ein halbes Jahr (je nachdem wie lange Du brauchst, um die Syntax von Java zu beherrschen). Danach wirst Du feststellen, dass Du ohne guten Stil nie in der Lage sein wirst, zeitnah, performant und zuverlässig komplexere Probleme zu lösen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Kapazität JavaFX TextField Java Basics - Anfänger-Themen 4
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
T TextField Breite automatisch gebunden Java Basics - Anfänger-Themen 8
T Inhalt aus TextField in Attribut einer Instanz schreiben Java Basics - Anfänger-Themen 5
E JavaFX Taschenrechner Eingabe im Textfield beschränken Java Basics - Anfänger-Themen 2
D Mit Objekten rechnen, Textfield, JavaFX, Noob Java Basics - Anfänger-Themen 8
O TextField in GridPane beschränken Java Basics - Anfänger-Themen 5
V_Fynn03 Erste Schritte Einen Wert in ein TextField einfügen aus einer anderen Klasse Java Basics - Anfänger-Themen 3
M Von der Datenbank zum Textfield Java Basics - Anfänger-Themen 16
X TextField-Inhalt mit Button in .txt-Datei speichern Java Basics - Anfänger-Themen 16
I TextField Array mit for Loop erzeugen Java Basics - Anfänger-Themen 4
M Textfield Problem Java Basics - Anfänger-Themen 2
AppGuruCode962 Button mit Textfield verbinden Java Basics - Anfänger-Themen 13
A GUI Programmierung mit Textfield Java Basics - Anfänger-Themen 3
M Action Event auf Textfield legen Java Basics - Anfänger-Themen 18
N Dynamisch erzeugtes Label wird nicht angezeigt, TextField schon Java Basics - Anfänger-Themen 1
S Textfield KeyPressed Java Basics - Anfänger-Themen 2
D Textfield im Game ,Problem: while-Schleife Java Basics - Anfänger-Themen 1
G TextField befüllen Java Basics - Anfänger-Themen 3
fLooojava OOP Übergabe/Output in Textfield Java Basics - Anfänger-Themen 4
A Maximale zeichenanzahl im TextField? Java Basics - Anfänger-Themen 4
G Klassen Von Logik auf TextField in der GUI zugreifen Java Basics - Anfänger-Themen 14
I kein zugriff auf jList oder Textfield Java Basics - Anfänger-Themen 2
M BufferedReader => TextField/Label Java Basics - Anfänger-Themen 8
T NetBeans - Int in Textfield Java Basics - Anfänger-Themen 11
H Zeile aus Textdatei lesen und in Textfield schreiben Java Basics - Anfänger-Themen 4
L Erste Schritte Wenn Textfield.Text = ... dann Java Basics - Anfänger-Themen 16
S Wie überprüfen das in Textfield nur Hexadezimal ist? Java Basics - Anfänger-Themen 4
J Datentypen Textfield.getText() liefert keinen String Java Basics - Anfänger-Themen 4
R Viereck zeichnen über TextField-Eingabe /ActionListener Java Basics - Anfänger-Themen 9
C textfield zeilenumbruch Java Basics - Anfänger-Themen 2
D Textfield Problem Java Basics - Anfänger-Themen 3
A TextField + Label = ? Java Basics - Anfänger-Themen 7
K TextField zeigt nicht an Java Basics - Anfänger-Themen 4
S Nummerisches TextField Java Basics - Anfänger-Themen 2
B nur Zahlen in Textfield eingeben Java Basics - Anfänger-Themen 4
G TextField auf null überprüfen Java Basics - Anfänger-Themen 5
G TextField in der for-schleife ansprechen Java Basics - Anfänger-Themen 2
N Wie schreibe ich in den Textfield? Java Basics - Anfänger-Themen 3
C TextField überwachen und Inhalt verlgleichen Java Basics - Anfänger-Themen 3
N Cursorfarbe im Textfield setzen Java Basics - Anfänger-Themen 2
K Ein Textfield Löschen ? Java Basics - Anfänger-Themen 16
K Daten aus einem Textfield lesen ? Java Basics - Anfänger-Themen 4
G einlasen aus TextField, nullpointerException? Java Basics - Anfänger-Themen 8
D Probleme mit TextArea und Textfield Java Basics - Anfänger-Themen 27
gurgi Textfield Java Basics - Anfänger-Themen 3
G TextField auslesen Java Basics - Anfänger-Themen 13
G Textfield Java Basics - Anfänger-Themen 6
M Textfield in URL Java Basics - Anfänger-Themen 2
G textfield überdeckt alles Java Basics - Anfänger-Themen 3
M TextField Java Basics - Anfänger-Themen 3
B auslesen eines textfield und probleme mit button Java Basics - Anfänger-Themen 13
C Schriftgröße in einem TextField ändern Java Basics - Anfänger-Themen 4
F Problem bei TextField (nicht JTextField) Java Basics - Anfänger-Themen 4
G Inhalt Textfield in SQL Statement klappt nicht. Java Basics - Anfänger-Themen 2
M TextField inhalt in int umwandeln Java Basics - Anfänger-Themen 9
F Textfield Problem Java Basics - Anfänger-Themen 4
H UDP Empfangen----> Ausgeben im TextField Java Basics - Anfänger-Themen 3
B TextField Inhalt auslesen Java Basics - Anfänger-Themen 5
R Probleme mit ungefülltem TextField Java Basics - Anfänger-Themen 4
U textfield Java Basics - Anfänger-Themen 7
M Einträge einer .txt-Datei in einem TextField ausgeben lassen Java Basics - Anfänger-Themen 8
J TextField, das nur Integer zulässt ? Java Basics - Anfänger-Themen 4
N Text im TextField rechtsbündig? Java Basics - Anfänger-Themen 2
S Fehlermeldung Cant convert java.awt.TextField to int Java Basics - Anfänger-Themen 12
G Größe eines TextField bestimmen Java Basics - Anfänger-Themen 4
G wieso muss Textfield final sein? Java Basics - Anfänger-Themen 6
N Zahlen aus Textfield ausesen Java Basics - Anfänger-Themen 15
P Textfield zusammmen fassen Java Basics - Anfänger-Themen 2
C removeAll() - TextField Java Basics - Anfänger-Themen 3
R Cursor auf TextField Java Basics - Anfänger-Themen 4
C TextField problem Java Basics - Anfänger-Themen 5
G Wert in TextField ausgeben? Java Basics - Anfänger-Themen 6
M Textfield.SetText?Textfield.addText? Java Basics - Anfänger-Themen 6
D if (event.target instanceof TextField) Java Basics - Anfänger-Themen 2
N TextField positionieren Java Basics - Anfänger-Themen 7
M Textfield String einlesen und an socketclient verschicken Java Basics - Anfänger-Themen 12
M Nullpointer beim befüllen meiner Liste im Object Java Basics - Anfänger-Themen 3
U Warum kriege ich hier eine nullpointer exception, sehe den Fehler nicht (swing) Java Basics - Anfänger-Themen 1
Dimax BufferedReader.readLine().length() wirft NullPointer Java Basics - Anfänger-Themen 6
AlexG. Nullpointer Exeption Java Basics - Anfänger-Themen 46
AlexG. Nullpointer exeption Fehler Java Basics - Anfänger-Themen 0
B EJB und Arquillian - bekomme Nullpointer Exception beim Aufruf der EJB Klasse Java Basics - Anfänger-Themen 40
D Warum die Nullpointer Exception Java Basics - Anfänger-Themen 6
F Referenz an ein Objekt in einer anderen Klasse erstellen(Nullpointer exception) Java Basics - Anfänger-Themen 6
N Nullpointer exception Java Basics - Anfänger-Themen 4
D Erste Schritte Java.lang.NullPointer.Exception Java Basics - Anfänger-Themen 8
Z Getter/Setter NullPointer Exception Java Basics - Anfänger-Themen 6
W Nullpointer Exception bei .add(...) Java Basics - Anfänger-Themen 6
J Nullpointer aber wo? Java Basics - Anfänger-Themen 12
B OOP Über einen AVL-Baum iterieren (NullPointer) Java Basics - Anfänger-Themen 5
F Operatoren Wieso fliegt hier eine NullPointer Exception :( Java Basics - Anfänger-Themen 3
F nullpointer exception - arrayerstellung Java Basics - Anfänger-Themen 4
K Nullpointer beim Erstellen eines Imageicons Java Basics - Anfänger-Themen 2
O Perfomance: Arraylist absichtlich zum Nullpointer schicken... Java Basics - Anfänger-Themen 16
S Iterator next() Nullpointer Java Basics - Anfänger-Themen 2
W Nullpointer bei Objekt Serialisierung mit ArrayList<byte[]> etc. Java Basics - Anfänger-Themen 2
R indexOf wirft NullPointer Exception Java Basics - Anfänger-Themen 2
Q CardLayout und NullPointer Java Basics - Anfänger-Themen 3
R NullPointer Exceptions Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben