Null Pointer Exception bei JTextField setText

Status
Nicht offen für weitere Antworten.

Vril

Bekanntes Mitglied
Hallo,
hab folgendes versucht:
Code:
public void mouseClicked(MouseEvent e){
...
...
....

String Namen = "Huber";
andereKlasse.TF_Name.setText(Namen);
new andereKlasse();
Bei dem setText bekomme ich allerdings eine java.lang.NullPointerException
In andereKlasse wird das JTextField so erstellt: public static JTextField TF_Name;
TF_Name = new JTextField();

Weis da jemand was ich falsch mache?
 
G

Guest

Gast
Wo wird in andereKlasse das
Code:
TF_name = new TextField();

gerufen? Wenn es im Konstruktor von andereKlasse steht, wird es erst initialisiert, wenn du eine Instanze von andereKlasse erzeugt hast. Du müßstest dann wahrscheinlich so vorgehen:

Code:
class andereKlasse
{
    public static JTextField TF_name = new JTextField();
    ...
}
 

Vril

Bekanntes Mitglied
Also das JTextField wird in andereKlasse hier erzeugt:
Code:
public void initComponents() {
.....

}

public andereKlasse(){
initComponents();
 

thE_29

Top Contributor
Wird das initComponents auch aufgerufen??


Mach einfach mal ein System.out.println(andereKlasse.TF_name);

wenn da null steht, wird es nicht aufgerufen ^^
 

Tobias

Top Contributor
Am einfachsten erscheint es mir, wenn du mal nen Debugger anwirfst... Ist vielleicht kein superhilfreicher Tipp, aber so kann ich nur ins Blaue hineinraten, wo dein Initialisierungsfehler (und ein solcher ist es wohl recht sicher) liegt.

mpG
Tobias
 

Vril

Bekanntes Mitglied
Im Gegenzug funktioniert
Code:
String Name = andereKlasse.TF_Name.getText();
das. Also wenn in dem TextField was steht kann ich es auslesen! Aber warum kann ich nicht setText machen?

Hab jetzt auch mal System.out.println(andereKlasse.TF_Name) gemacht, es wird null ausgegeben! Heisst das jetzt null weil noch nichts drin steht oder läuft noch was anderes falsch?
 

mic_checker

Top Contributor
Also mal was prinzipielles:
Du bist doch nun schon lang genug dabei (länger als ich) u. müsstest eigentlich wissen das man sich an best. Richtlinien hält, bzgl. Variablen klein schreiben, Kapselung etc.

Wenn du die Dinge beachtest treten manche solcher Probleme schon mal nicht auf, bzw. man erkennt sie schneller (und der Code ist einfach schöner).

Eine Abfrage ob das Textfeld null ist liefert true ? Dann kontrollier mal ganz genau wo wie welche Methode aufgerufen wird und ob nicht evtl. auch ein Sichtbarkeitsbereichs-Problem vorliegt (also das du zwei Textfelder mit dem Namen hast - ist alles schon vorgekommen).

Wenn alles nichts hilft -> kompletten Code posten.
 

8ull23y3

Bekanntes Mitglied
Vril haste immernoch diesen GUI-Builder? Mal an das gedacht was ich dir letzens schonmal im Chat empfohlen habe?
Guck mal nach ob due vielleicht wieder zwei Variablen hast mit dem gleichen Namen und ob die eine Wieder innhalb eines Konstruktors oder einer Methode deklariert und instaziert wurd!! Das scheint mir fast das gleiche Problem zu sein wie mit deinem JTable letzens... :lol:
Les dir das hier mal durch hab ich grad gefunden so nen kleiner Überblick http://www.programmersbase.net/Content/Java/Content/Tutorial/Java/Variable.htm
 

thE_29

Top Contributor
@vril: wenn dort null ausgegeben wird, dann ist das Objekt null nicht der Inhalt!!

Also wurde noch kein new gemacht!

Und dass das getText() in der gleichen Klasse geht, in der gleichen Zeile wie setText funktioniert glaube ich dir nicht... (glaube da wird sich ein Fehler eingeschlichen haben, so wie bullzeye das meint!)
 

Vril

Bekanntes Mitglied
@8ull23y3
Ja, also an das Problem letztens hab ich natürlich gedacht, aber leider wars das nicht!

@thE_29
Also wie gesagt, getText funktioniert, setText funktioniert nicht. Das sich bei ca. 2000 Zeilen ein Fehler eingeschlichen hat glaube ich allerdings schon.

Fazit:
Habe jetzt wirklich stundenlang rumbrobiert und nichts gefunden. Ich wills ja überhaupt nicht sagen, :oops: , hab das Problem jetzt anders gelöst. Hab für jedes TextField einen String gemacht der dem TextField anfangs als String sTF_1 = "" übergeben wird, soll was verändert werden mache ich nur andereKlasse.sTF_1 = "was verändert".... so klappts zumindest. Gegen welche Programmierregeln ich da jetzt alles verstossen hab will ich garnicht wissen.... :?

Aber auf jeden Fall danke für eure Tipps!!!
 

mic_checker

Top Contributor
wenn du willst kannst du mir den code mal zuschicken, denn es muss funktionieren.

du solltest einfach mal anfangen best. sachen von anfang an einzuhalten, das macht es auch einfacher den code nachher wieder zu lesen....
 

Vril

Bekanntes Mitglied
@mic_checker
Ok, also wenn du dir das wirklich mal geben willst schick ich dir das gerne mal zu! Bräuchte nur noch ne EMail von dir, weil das Board damit vollstopfen ist bei der länge wohl nicht so gut?
 

thE_29

Top Contributor
Ich glaub noch immer das es ein schreibfehler sein wird!

Ein Objekt was null ist, kann weder get noch set....

@mic_checker: poste bitte dann den Fehler!
 

Vril

Bekanntes Mitglied
Ne, der Source dürfte schon passen! TF_* sind da einige, TF_Name hab ich eigentlich nur hier im Board geschrieben. Im Source heissen sie halt TF_Temperatur oder TF_Email.
 

mic_checker

Top Contributor
also wie oben angedeutet, solltest du mal genauer spezifizieren wo das problem auftritt.

ich habe das ganze jetzt zum kompilieren bekommen, auch wenn ich ein paar sachen auskommentieren musste (weil ich nicht über alle pakete verfüge).

Wo wird die Exception ausgelöst ? wenn du auf was drückst / bzw. was machst ?

Noch was.
Ich bin froh das ich eben nicht gegessen hab , ansonsten wär es mir glatt wieder alles hochgekommen, als ich deinen Code gesehen hab ;)
 

Vril

Bekanntes Mitglied
Na jetzt mal nicht beschweren, du hast dich freiwillig gemeldet den Source mal durchzusehen! :wink:
Zugegeben, GUI-Editor+mein Codestyle = :oops:

Also das gesamte Package hab ich nicht geschickt weil ja die Meinung kursierte das mit den Textfeldern selbst, also Schreibfehler o.ä., was nicht stimmt.

Mein Problem ist das ich die Textfelder aus einer anderen Klasse zwar mit get bekomme aber mit set nicht setzen kann. Das z.b. TF_Problem.TF_Temperatur.setText("Hallo"); zwar compilet wird, aber beim ausführen die besagte Exception geworfen wird.
 

8ull23y3

Bekanntes Mitglied
Sacht wieder :lol: diesmal an mic_checker ham wa dem Herrn Vril gestern schon gesagt das der den GUI-Builder weghauen soll... Würd mir den Code gern auch mal angucken. Aber denke das sind fähige Leute die dir da helfen ansonsten 8ull23y3@web.de aba nich spamen! ;)
 

mic_checker

Top Contributor
Dann schick mal den Teil mit TF_Problem auch noch rüber, bei ner NPE sind die von uns genannten Gründe nur häufige, das heisst nicht das es bei dir mal anders sein kann ;)
 

Vril

Bekanntes Mitglied
Ok, also ich hab die Mainklasse, MyMain, jetzt drastisch gekürzt, das Problem besteht weiter! Siehe Zeile 164! Brauchst eigentlich nur noch in TF_Problem den String aus TF_Temperatur rauswerfen und schon müsstes du das Problem beim ausführen in der DOS Box sehen!

Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.border.*;
import java.awt.Toolkit;
import java.sql.*;
import java.util.*;
import javax.swing.table.*;
import com.jgoodies.forms.factories.*;
import com.jgoodies.looks.windows.*;

public class MyMain extends JFrame implements ActionListener {
  
  //Vector[] Spalten;
  //public static MyTableModel dataModel;
	public MyMain() {
		int x = getToolkit().getScreenSize().width;
		int y = getToolkit().getScreenSize().height;
		setSize(getToolkit().getScreenSize());
		
		int x1 = getToolkit().getScreenSize().width;
			int y1 = getToolkit().getScreenSize().height;
			JScrollPane scrollPane1 = new JScrollPane(table1);
	
		getContentPane().add(scrollPane1);
		//getContentPane().add(table1);
		initComponents();
		//setGUI();
		//assignIcon();
		setVisible(true);
	}
		private void initComponents() {
		
		menuBar1 = new JMenuBar();
		JMenu_File = new JMenu();
		menuItem_Open = new JMenuItem();
		menuItem_Save = new JMenuItem();
		menuItem_SaveAs = new JMenuItem();
		menuItem_Exit = new JMenuItem();
		JMenu_Edit = new JMenu();
		menuItem_Delete = new JMenuItem();
		menuItem_Search = new JMenuItem();
		JMenu_Configure = new JMenu();
		checkBoxMenuItem_enableTooltips = new JCheckBoxMenuItem();
		JMenu_Help = new JMenu();
		menuItem_About = new JMenuItem();
		//scrollPane1 = new JScrollPane();
		//table1 = new JTable();

		//======== this ========
		setTitle("TF Problem ~ Beta");
		Container contentPane = getContentPane();
		contentPane.setLayout(new FlowLayout(FlowLayout.CENTER));

		//======== menuBar1 ========
		{
			
			//======== JMenu_File ========
			{
				JMenu_File.setText("File");
				JMenu_File.setMnemonic('F');
				
				//---- menuItem_Open ----
				menuItem_Open.addActionListener(this);
				menuItem_Open.setText("Open");
				menuItem_Open.setMnemonic('O');
				JMenu_File.add(menuItem_Open);
				
				//---- menuItem_Save ----
				menuItem_Save.addActionListener(this);
				menuItem_Save.setText("Save");
				menuItem_Save.setMnemonic('S');
				JMenu_File.add(menuItem_Save);
				
				//---- menuItem_SaveAs ----
				menuItem_SaveAs.addActionListener(this);
				menuItem_SaveAs.setText("Save As...");
				menuItem_SaveAs.setMnemonic('A');
				JMenu_File.add(menuItem_SaveAs);
				JMenu_File.addSeparator();
				
				//---- menuItem_Exit ----
				menuItem_Exit.addActionListener(this);
				menuItem_Exit.setText("Exit");
				menuItem_Exit.setMnemonic('E');
				JMenu_File.add(menuItem_Exit);
			}
			menuBar1.add(JMenu_File);
			
			//======== JMenu_Edit ========
			{
				JMenu_Edit.setText("Edit");
				JMenu_Edit.setMnemonic('E');
				
				//---- menuItem_Delete ----
				menuItem_Delete.addActionListener(this);
				menuItem_Delete.setText("Delete");
				menuItem_Delete.setMnemonic('D');
				JMenu_Edit.add(menuItem_Delete);
				
				//---- menuItem_Search ----
				menuItem_Search.addActionListener(this);
				menuItem_Search.setText("Search");
				menuItem_Search.setMnemonic('S');
				JMenu_Edit.add(menuItem_Search);
			}
			menuBar1.add(JMenu_Edit);
			
			//======== JMenu_Configure ========
			{
				JMenu_Configure.setText("Configure");
				JMenu_Configure.setMnemonic('C');
				
				//---- checkBoxMenuItem_enableTooltips ----
//				checkBoxMenuItem_enableTooltips.addItemListener(this);
				checkBoxMenuItem_enableTooltips.setText("enable Tooltips");
				checkBoxMenuItem_enableTooltips.setSelected(true);
				checkBoxMenuItem_enableTooltips.setMnemonic('E');
				JMenu_Configure.add(checkBoxMenuItem_enableTooltips);
			}
			menuBar1.add(JMenu_Configure);
			
			//======== JMenu_Help ========
			{
				JMenu_Help.setText("Help");
				JMenu_Help.setMnemonic('H');
				
				//---- menuItem_About ----
				menuItem_About.addActionListener(this);
				menuItem_About.setText("About");
				menuItem_About.setMnemonic('A');
				JMenu_Help.add(menuItem_About);
			}
			menuBar1.add(JMenu_Help);
		}
		setJMenuBar(menuBar1);
}
	private JMenuBar menuBar1;
	private JMenu JMenu_File;
	private JMenuItem menuItem_Open;
	private JMenuItem menuItem_Save;
	private JMenuItem menuItem_SaveAs;
	private JMenuItem menuItem_Exit;
	private JMenu JMenu_Edit;
	private JMenuItem menuItem_Delete;
	private JMenuItem menuItem_Search;
	private JMenu JMenu_Configure;
	private JCheckBoxMenuItem checkBoxMenuItem_enableTooltips;
	private JMenu JMenu_Help;
	private JMenuItem menuItem_About;
	public JScrollPane scrollPane1;
	public JTable table1;

	 public void actionPerformed(ActionEvent event){
   
   	if (event.getActionCommand() == "Exit"){
   		System.exit(0);
   	}
   	  
   	if (event.getActionCommand() == "Open"){
			//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!HIER			
			TF_Problem.TF_Temperatur.setText("Hallo");  	
   		new TF_Problem(); 
   	}
   	}
  	//Main
	public static void main(String[] args){
		new MyMain();
		
	}
	}
 

mic_checker

Top Contributor
Deine Textfelder sind static in TF_Problem - Allerdings wird die init Methode ja gar nicht aufgerufen, wenn du auf die Textfelder zugreifst, deswegen ne NPE - so siehts zumindest für mich aus.
 

Vril

Bekanntes Mitglied
Ja, musste ich ja static machen die Dinger, sonst hätte es ja schon beim compilen nicht geklappt! Ok, das mit init würde einleuchten! Aber wie macht man es dann richtig bzw. sinnvoll?
 

mic_checker

Top Contributor
Du erzeugst ein Objekt vom Typ TF_Problem, da wird ja dann deine init Methode aufgerufen, danach solltest du auf die Textfelder zugreifen können.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Swing Null Pointer Exception obwohl Objekt initialisiert AWT, Swing, JavaFX & SWT 21
D Bild zeichnen lassen aus array, null pointer Exception AWT, Swing, JavaFX & SWT 2
P paint null pointer exception AWT, Swing, JavaFX & SWT 3
A Null pointer exception beim Neuzeichnen AWT, Swing, JavaFX & SWT 4
G null pointer mit getText AWT, Swing, JavaFX & SWT 2
Z textField.getText = null AWT, Swing, JavaFX & SWT 15
Davee JavaFX ListView = null wenn ich sie in Laufzeit ändern will! AWT, Swing, JavaFX & SWT 16
AmsananKING Textfelder sind gleich null AWT, Swing, JavaFX & SWT 2
R Layout Manager null und Component wird nicht hinzugefügt AWT, Swing, JavaFX & SWT 3
J Injection - Aber Controller sind null AWT, Swing, JavaFX & SWT 3
J Controller ist null - Warum AWT, Swing, JavaFX & SWT 3
Z Swing Wert aus Textfeld auslesen -- null Fehler AWT, Swing, JavaFX & SWT 4
N SceneBuilder wie auf Attribute zugreifen? Diese sind immer null. AWT, Swing, JavaFX & SWT 6
F javaxt.io.Image getBufferedImage liefert null AWT, Swing, JavaFX & SWT 1
D Zwischen Null-Layouts wechseln AWT, Swing, JavaFX & SWT 2
S Unverstandene Null.PointException AWT, Swing, JavaFX & SWT 4
D AWT Graphics2D getClip gibt null zurück AWT, Swing, JavaFX & SWT 3
H Swing jComboBox Ausgabe -1/null AWT, Swing, JavaFX & SWT 4
G Swing, JavaFx - Felder aus FXML sind null AWT, Swing, JavaFX & SWT 6
K Swing JSpinner mit NULL AWT, Swing, JavaFX & SWT 3
F JavaFX Properties und NULL Werte AWT, Swing, JavaFX & SWT 2
M JTextField gibt beim auslesen null aus AWT, Swing, JavaFX & SWT 9
F LayoutManager Null-Layout unter Linux im TreeCellEditor AWT, Swing, JavaFX & SWT 3
S String is null Fehler AWT, Swing, JavaFX & SWT 2
R Swing JLabel gibt stets 'null' aus AWT, Swing, JavaFX & SWT 3
E Null-Layout - Wie geht es ohne? AWT, Swing, JavaFX & SWT 19
P Swing JTable null values an das Ende verschieben AWT, Swing, JavaFX & SWT 2
S pack() bei null-Layout AWT, Swing, JavaFX & SWT 10
F Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: null AWT, Swing, JavaFX & SWT 5
C JTable sorter GregorianCalender null Exc AWT, Swing, JavaFX & SWT 4
N Swing JFrame==null und doch nicht null?! AWT, Swing, JavaFX & SWT 4
N JButton Border(null) AWT, Swing, JavaFX & SWT 3
E JPanel mit Null Layout entfernt Buttons AWT, Swing, JavaFX & SWT 11
K Swing regexFilter() null filtern AWT, Swing, JavaFX & SWT 3
R Swing JComboBox - Null-Feld AWT, Swing, JavaFX & SWT 7
M SWT DateTime per default null Wert ? AWT, Swing, JavaFX & SWT 3
J JScrollPane & Null-Layout AWT, Swing, JavaFX & SWT 12
A JPanel mit Layout(null) in JPanel AWT, Swing, JavaFX & SWT 4
G Zentrieren mittels setLocationRelativeTo(null);? AWT, Swing, JavaFX & SWT 14
G Value vom TreeCellEditor ist immer null AWT, Swing, JavaFX & SWT 3
G JTree Problem: Null Child not allowed AWT, Swing, JavaFX & SWT 12
J JList CellRenderer Null-Layoutpanel AWT, Swing, JavaFX & SWT 4
C getGraphics() liefert nur null AWT, Swing, JavaFX & SWT 4
H null Layout -> Label wird nicht angezeigt AWT, Swing, JavaFX & SWT 4
G Probleme mit Content bei Null-Layout verändern AWT, Swing, JavaFX & SWT 7
T Null Layout Problem. AWT, Swing, JavaFX & SWT 3
M JFormattedTextField und Null-Werte AWT, Swing, JavaFX & SWT 4
S Text im JLabel wird nicht als null anerkannt AWT, Swing, JavaFX & SWT 4
I Null-Layout-Problem AWT, Swing, JavaFX & SWT 2
M Problem mit NULL-Layout AWT, Swing, JavaFX & SWT 2
V CellEditor der nur Eingaben int 1-9 und "null" er AWT, Swing, JavaFX & SWT 11
H getGraphics() eines JPanel liefert immer null zurück AWT, Swing, JavaFX & SWT 6
F PanelBounds an TextPaneBounds anpassen LayoutManager: Null AWT, Swing, JavaFX & SWT 2
O JScrollPane beinhaltet JPanel mit null Layout kein Scrollen AWT, Swing, JavaFX & SWT 3
M bei filechooser.showSaveDialog(null); auf Datein. zugreifen AWT, Swing, JavaFX & SWT 2
B NULL Layout - TextFelder verschwinden AWT, Swing, JavaFX & SWT 8
F Scrollen bei JTextArea in einem Null-Layout? Unmöglich? AWT, Swing, JavaFX & SWT 4
R Komponenten frei per Drag&Drop in (z.B.) Null-Layout bew AWT, Swing, JavaFX & SWT 2
B [Swing] Null-Layout AWT, Swing, JavaFX & SWT 2
G Scrollpane in null-Layout einfügen AWT, Swing, JavaFX & SWT 5
G JList: Anzeige von null-Werten verhindern AWT, Swing, JavaFX & SWT 3
W Probleme mit Border- und null-Layout AWT, Swing, JavaFX & SWT 8
Z createImage() liefert null zurück AWT, Swing, JavaFX & SWT 4
K JTextArea und setLayout(null) AWT, Swing, JavaFX & SWT 3
H Exception: java.lang.ClassCastException AWT, Swing, JavaFX & SWT 2
M Seltsame Exception bei setVisible(true) Methode in einem JFrame AWT, Swing, JavaFX & SWT 2
T Exception in thread "main" java.lang.NoClassDefFoundError AWT, Swing, JavaFX & SWT 4
W Nullpointer Exception beim übertragen von Daten von Scene zu Scene AWT, Swing, JavaFX & SWT 6
G Exception javafx Thread -> caused by removing children while in EventHandler AWT, Swing, JavaFX & SWT 28
beli3ver JavaFX Anwendung startet nicht, kann den Fehler nicht finden (Exception in Application start method) AWT, Swing, JavaFX & SWT 1
Z JavaFX Exception in Application start method AWT, Swing, JavaFX & SWT 2
J "Exception in thread "AWT-EventQueue-0"" Fehler AWT, Swing, JavaFX & SWT 3
B JavaFX Warum wird hier eine NullPointer-Exception geworfen? AWT, Swing, JavaFX & SWT 7
R AWT no such child Exception AWT, Swing, JavaFX & SWT 7
L JavaFX Exception nach includieren einer fxml // nested controller AWT, Swing, JavaFX & SWT 1
J Exception beim JFrame erstellen AWT, Swing, JavaFX & SWT 6
A Swing Exception in thread "AWT-EventQueue-0" AWT, Swing, JavaFX & SWT 1
W JavaFX Warum kriege ich eine Exception? AWT, Swing, JavaFX & SWT 23
S JavaFX Exception in thread "JavaFX Application Thread" AWT, Swing, JavaFX & SWT 3
L JavaFX JavaFX stürtzt durch einen Server#connect Exception AWT, Swing, JavaFX & SWT 3
ralfb1105 JavaFX Exception Message von Model Class via Controller in View darstellen AWT, Swing, JavaFX & SWT 39
L Java FX Exception beim start AWT, Swing, JavaFX & SWT 2
J ObservableList wirft exception beim zweiten füllen. AWT, Swing, JavaFX & SWT 4
S java.fxml.load.exception und keine automatische Aktualliseriung der Mainausgabe AWT, Swing, JavaFX & SWT 5
VfL_Freak AWT Exception in der Eventqueue AWT, Swing, JavaFX & SWT 8
X Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1 AWT, Swing, JavaFX & SWT 6
H JavaFX Ein View vorschalten Exception AWT, Swing, JavaFX & SWT 7
S NullPointer Exception beim Laden von Bildern AWT, Swing, JavaFX & SWT 11
Q "AWT-EventQueue-0" Exception Problem AWT, Swing, JavaFX & SWT 4
M 3D-Grafik Mac Java 3D in Eclipse Exception AWT, Swing, JavaFX & SWT 0
L exception in thread awt-eventqueue-0 java.lang.nullpointerexception AWT, Swing, JavaFX & SWT 2
I Opencv Imgproc.floodfill exception AWT, Swing, JavaFX & SWT 1
S Swing Exception in thread "AWT-EventQueue-0" bei Jlabel AWT, Swing, JavaFX & SWT 4
T Gui Exception AWT, Swing, JavaFX & SWT 2
X Auf Fensterklasse zugreifen (Nullpointer Exception) AWT, Swing, JavaFX & SWT 2
M Threads - nicht erklärbare Exception AWT, Swing, JavaFX & SWT 6
M Bilder zeichnen, NullPointer Exception AWT, Swing, JavaFX & SWT 3
J Einträge aus Table löschen ohne Exception AWT, Swing, JavaFX & SWT 6
C Event Handling Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException AWT, Swing, JavaFX & SWT 43
V Swing Nullpointer Exception bei JFormattedTextField AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben