Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > Java > Allgemeine Java-Programmierung > Problem mit getText()-Methode
Antwort
 
Themen-Optionen
Alt 15.03.2005, 23:09   Nach oben    #1
Paule
Gast
 
Beiträge: n/a
Standard Problem mit getText()-Methode

Hallo,
ich hab da ein Problem, beim auslesen des Textes aus einem JTextField. Ich bekomme immer eine NullPointerException obwohl alles (meiner Meinung nach) initialisiert ist. Ist ne ziemlich große Klasse, aber ich wusste nicht was ich weglassen sollte ohne wichtiges zu vernachlässigen:

Code:
public class Antwort {
	String Antworttext = new String();
	boolean richtigeAntwort;
}
Code:
public class Frage {
	
	String Fragetext = new String();
	Antwort[] antwort = new Antwort[10];
	}
Code:
public class Quiz {

	String Quiztitel = new String();
	String QuizID = new String();
	Frage[] frage = new Frage[100];
	
	}
Code:
public class MultipleChoice extends JPanel implements ActionListener, ItemListener{

	private JButton save;
	private JTextField tFrage;
	private JTextField tName;
	private JLabel lblFrage;
	private JLabel lblName;
	private JTextField[] ta = new JTextField[10];
	private JCheckBox[] cba = new JCheckBox[10];
	private JLabel[] LL = new JLabel[10];
	int AnzahlAntworten;
	int AnzahlFragen;
	private JPanel AntwortPanel;
	Quiz newQuiz;
	
	Editor owner;
	
	public MultipleChoice(Editor owner) {
		this.owner = owner;
		
		initGUI();
		AnzahlAntworten = 2;
		AnzahlFragen = 0;
		
		
		newQuiz = new Quiz();
		
		save.addActionListener(this);
		
}
	
   private void initGUI() {
		try {
			AnchorLayout thisLayout = new AnchorLayout();
			this.setLayout(thisLayout);
			setPreferredSize(new Dimension(600, 500));
			{
				pane3 = new JPanel();
				AnchorLayout pane3Layout = new AnchorLayout();
				pane3.setLayout(pane3Layout);
				this.add(pane3, new AnchorConstraint(
					615,
					992,
					715,
					12,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL));
		 	pane3.setPreferredSize(new java.awt.Dimension(588, 50));
				{
					save = new JButton();
		 		pane3.add(save, new AnchorConstraint(
						90,
						995,
						690,
						805,
				  AnchorConstraint.ANCHOR_REL,
				  AnchorConstraint.ANCHOR_REL,
				  AnchorConstraint.ANCHOR_REL,
				  AnchorConstraint.ANCHOR_REL));
					save.setText("Speichern");
		 		save.setPreferredSize(new java.awt.Dimension(112, 30));
				}
				{
					tb1 = new JToolBar();
		 		pane3.add(tb1, new AnchorConstraint(
						130,
						795,
						670,
						179,
				  AnchorConstraint.ANCHOR_REL,
				  AnchorConstraint.ANCHOR_REL,
				  AnchorConstraint.ANCHOR_REL,
				  AnchorConstraint.ANCHOR_REL));
		 		tb1.setPreferredSize(new java.awt.Dimension(362, 27));
				}
				{
					close = new JButton();
		 		pane3.add(close, new AnchorConstraint(
						90,
						167,
						710,
						7,
				  AnchorConstraint.ANCHOR_REL,
				  AnchorConstraint.ANCHOR_REL,
				  AnchorConstraint.ANCHOR_REL,
				  AnchorConstraint.ANCHOR_REL));
					close.setText("Beenden");
		 		close.setPreferredSize(new java.awt.Dimension(94, 31));
				}
			}
			{
				sp = new JScrollPane();
				this.add(sp, new AnchorConstraint(
					181,
					995,
					609,
					7,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL));
			 sp.setPreferredSize(new java.awt.Dimension(593, 214));
				{
					pane2 = new JPanel();
					sp.setViewportView(pane2);
				}
			}
			{
				pane1 = new JPanel();
				AnchorLayout pane1Layout = new AnchorLayout();
				pane1.setLayout(pane1Layout);
				this.add(pane1, new AnchorConstraint(
					11,
					995,
					165,
					7,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL,
					AnchorConstraint.ANCHOR_REL));
		 	pane1.setPreferredSize(new java.awt.Dimension(593, 77));
				{
		 		ComboBoxModel cmbFragetypModel = new DefaultComboBoxModel(
		 			new String[] { "MultipleChoice", "Textantwort" });
					cmbFragetyp = new JComboBox();
		 		pane1.add(cmbFragetyp, new AnchorConstraint(
						45,
						997,
						435,
						717,
				  AnchorConstraint.ANCHOR_REL,
				  AnchorConstraint.ANCHOR_REL,
				  AnchorConstraint.ANCHOR_REL,
				  AnchorConstraint.ANCHOR_REL));
		    	    cmbFragetyp.setModel(cmbFragetypModel);
		 		cmbFragetyp.setPreferredSize(new java.awt.Dimension(166, 30));
				}
				{
					tFrage = new JTextField();
		 		pane1.add(tFrage, new AnchorConstraint(
						448,
						560,
						798,
						260,
				  AnchorConstraint.ANCHOR_REL,
				  AnchorConstraint.ANCHOR_REL,
				  AnchorConstraint.ANCHOR_REL,
				  AnchorConstraint.ANCHOR_REL));
		 		tFrage.setPreferredSize(new java.awt.Dimension(178, 27));
				}
				{
					tName = new JTextField();
		 		pane1.add(tName, new AnchorConstraint(
						45,
						562,
						370,
						262,
				  AnchorConstraint.ANCHOR_REL,
				  AnchorConstraint.ANCHOR_REL,
				  AnchorConstraint.ANCHOR_REL,
				  AnchorConstraint.ANCHOR_REL));
		 		tName.setPreferredSize(new java.awt.Dimension(178, 25));
				}
				{
					lblFrage = new JLabel();
		 		pane1.add(lblFrage, new AnchorConstraint(
						409,
						100,
						798,
						0,
				  AnchorConstraint.ANCHOR_REL,
				  AnchorConstraint.ANCHOR_REL,
				  AnchorConstraint.ANCHOR_REL,
				  AnchorConstraint.ANCHOR_REL));
					lblFrage.setText("Frage");
		 		lblFrage.setPreferredSize(new java.awt.Dimension(59, 30));
				}
				{
					lblName = new JLabel();
		 		pane1.add(lblName, new AnchorConstraint(
						6,
						184,
						357,
						0,
				  AnchorConstraint.ANCHOR_REL,
				  AnchorConstraint.ANCHOR_REL,
				  AnchorConstraint.ANCHOR_REL,
				  AnchorConstraint.ANCHOR_REL));
					lblName.setText("Name des Quiz");
		 		lblName.setPreferredSize(new java.awt.Dimension(109, 27));
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	} // Ende init GUI
	
	
	public void speichern() {
		newQuiz.Quiztitel = tName.getText(); //Quiztitel in Array übernehmen
		newQuiz.frage[AnzahlFragen].Fragetext = tFrage.getText(); //Fragetext in Array übernehmen
		
		for (int i=0; i<10; i++){
			if (ta[i].isVisible() == true){
		 	newQuiz.frage[AnzahlFragen].antwort[i].Antworttext = ta[i].getText();
				if (cba[i].isSelected() == true)
		 	 newQuiz.frage[AnzahlFragen].antwort[i].richtigeAntwort = true;
			}
		} 	
	} //Ende speichern()
	
	
	
	public void itemStateChanged(ItemEvent evt) {
		
		
		if (cmbFragetyp.getSelectedItem().equals("Textantwort")) //ComboBox Überprüfung
			owner.changeView(new Text(owner));
		
	}
	
	public void actionPerformed(ActionEvent evt) {
		Object source = evt.getSource();
		
		if (source == close){		 //close-Button Überprüfung
			speichern();
			owner.changeView(new MainWindow(owner));
		
		}
			
		
		if (source == nAntwort) {		 	//neue-Antwort-Button Überprüfung
			
			
			AnzahlAntworten++;
			if (AnzahlAntworten < 4){
				cba[AnzahlAntworten].setVisible(true);
				ta[AnzahlAntworten].setVisible(true);
				
			}
			else {
			cba[AnzahlAntworten].setVisible(true);
			ta[AnzahlAntworten].setVisible(true);
			LL[AnzahlAntworten].setVisible(true);
			}
			if (AnzahlAntworten == 9)
				nAntwort.setVisible(false);
			
			if (AnzahlAntworten > 1)
				delAntwort.setVisible(true);
			AntwortPanel.validate();
		}
		
		if (source == delAntwort){	// Antwort löschen Button Überprüfung
			if (AnzahlAntworten <4) {
				cba[AnzahlAntworten].setVisible(false);
				ta[AnzahlAntworten].setVisible(false);
				
			}
			else {
				cba[AnzahlAntworten].setVisible(false);
				ta[AnzahlAntworten].setVisible(false);
				LL[AnzahlAntworten].setVisible(false);
			}
			
			AnzahlAntworten--;
			
			if (AnzahlAntworten <2)
				delAntwort.setVisible(false);
			
			if (AnzahlAntworten < 9)
				nAntwort.setVisible(true);
				
			AntwortPanel.validate();	
			
		}
		
		if (source == save)	// Speichern-Button Überprüfung
			speichern();
		
		if (source == next){	// neue Frage Button Überprüfung
			speichern();
			
			AnzahlFragen++;
			tFrage.setText("");
			
			for(int i=0; i<10; i++){
				if (i<3){
					cba[i].setSelected(false);
					cba[i].setVisible(true);
					ta[i].setText("");
					ta[i].setVisible(true);
				}
				if (i==3){
					cba[i].setSelected(false);
					cba[i].setVisible(false);
					ta[i].setText("");
					ta[i].setVisible(false);
				}
				if (i>3){
					cba[i].setSelected(false);
					cba[i].setVisible(false);
					ta[i].setText("");
					ta[i].setVisible(false);
					LL[i].setVisible(false);
					
				}
				
				
				
			}
			
			
			
		} //Ende neue Frage
		
	} // Ende ActionPerformed
	
}
Also, wenn ich auf den save-Button klicke soll ja die speichern-Methode ausgeführt werden. In der zweiten Zeile der speichern-Methode erhalte ich dann eine NullPointerException.
Kann mir jemand sagen warum?!
Schon mal danke für die Hilfe!
Gruß Paule!!!
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.03.2005, 23:26   Nach oben    #2
`B
Benutzer
 
Benutzerbild von `B
 
Registriert seit: 05.07.2004
Beiträge: 95
Standard

wow ... gerade leider keine Zeit mehr ich werde das morgen früh alles mal lesen ... aber eins vorweg du solltest unbedingt weitere unterfunktionen schreiben um den umfang deines scriptes zu verringern um die übersicht zu gewährleisten ...

kannst du vielleicht das ganze script also den Ordner als zip / rar Archiv mal anhängen?
__________________
`B ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.03.2005, 23:40   Nach oben    #3
Paule
Gast
 
Beiträge: n/a
Standard

hehe, ja stimmt schon, ein paar Funktionen würden nicht schaden aber irgendwie tu ich mich da immer bisschen schwer egal
Ich hab das Projekt mal angehängt.

Danke schonmal Paule!!
Angehängte Dateien
Dateityp: zip QuizEditor.zip (35,6 KB, 3x aufgerufen)
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 18.03.2005, 23:27   Nach oben    #4
Sym
Chefkoch-Mod
 
Benutzerbild von Sym
 
Registriert seit: 30.05.2004
Beiträge: 433
Standard

Hi,

da ich jetzt nicht alle Klassen nach der Main-Methode durchsuchen möchte, müssen wir das Problem wohl anders lösen.

Wie sieht denn der komplette Fehler aus? Meist gibt er genau die Zeile mit dem Problem an.
__________________
Denk mal darüber nach...

Lars

ACHTUNG: wenn ich von Klassen spreche, könnte ich auch deren Instanzen meinen.
www.linuxforen.de +++ www.macuser.de +++ www.mrunix.de +++ www.lmprojects.de
Sym ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.03.2005, 04:52   Nach oben    #5
nove
Erfahrener Benutzer
 
Registriert seit: 16.11.2005
Beiträge: 243
Standard

Yo... die Debug informationen wären wirklich wichtig!
nove ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.03.2005, 20:38   Nach oben    #6
Paule
Gast
 
Beiträge: n/a
Standard

Hi,

das problem ist nun gelöst. In den Klassen Frage und Quiz hatte ich zwar die Arrays initialisiert aber nicht die einzelnen Felder. Das hab ich gemacht und nun flutscht es

Trotzdem danke für die Hilfe.

Gruß Paule!!!
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are Aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem E-Mails zu senden Jann Hendrik Plauderecke 7 25.05.2007 21:37
Problem mit zu vielen MySQL-Querys / Grundkonzeption Chr!s PHP-Programmierung 13 27.08.2006 16:59
Problem mit dem verlinken innerhalb von pdf-Dokumenten wegen der Nutzung von BBCode Jann Hendrik PHP-Programmierung 3 10.02.2006 16:27
SWT_AWT Bridge redraw() problem csae4773 Desktop-Applikationen und Grafik 4 23.11.2005 20:43
OSX + Eclipse 3.1 Problem bacarni Eclipse 3 29.07.2005 21:19


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:26 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.0.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44