Swing setText()-Methode Funktioniert nicht

T

TGM-Schueler

Gast
Liebe Java-Forum.org-Community!
Ich programmiere jz schon seit 2 Wochen an einer APR-Hausübung herum und komme nicht auf den Fehler,keine Syntax-Erros oder Exeptions

Der Code ist der folgende :
Java:
public class RechnenPanel extends JPanel {

	private Button go;
	private JRadioButton ahochb,faktorielle;
	private JLabel basis,exponent,n,ergebnis;
	private JTextField basistxt,exponenttxt,ntxt,ergebnistxt;
	private JPanel p1,p2,p3;

	public RechnenPanel(){
		//Deklarieren der Elemente
		this.go = new Button("Berechnen");
        this.ahochb = new JRadioButton ("a^b");
		this.faktorielle = new JRadioButton ("a!");
        ButtonGroup auswahl = new ButtonGroup();
        auswahl.add(this.ahochb);
        auswahl.add(this.faktorielle);
		this.basistxt = new JTextField ("");
        this.exponenttxt = new JTextField ("");
        this.ntxt = new JTextField ("");
        this.ergebnistxt = new JTextField ("");
        this.basis = new JLabel("Basis :");
        this.exponent = new JLabel("Exponent :");
        this.n = new JLabel("n-te Zahl :");
        this.ergebnis = new JLabel("Ergebnis :");
        //Layout setzen

        ahochb.setActionCommand("A");


        setLayout(new GridLayout(3,4));

        //Panels erzeugen

        //Panel 1
        this.p1 = new JPanel();
        p1.setLayout (new GridLayout(1,2));
        p1.add(this.exponent);
        p1.add(this.exponenttxt);
        //Panel 2
        this.p2 =new JPanel();
           // Dieses Pannel dient nur als Platzhalter !

        //Panel 3
        this.p3 =new JPanel();
          // Dieses Pannel dient nur als Platzhalter !

        //Elemente positionieren

        //1.Zeile
        add(ahochb);
        add(basis);
        add(basistxt);
        add(p1);

        //2. Zeile
        add(this.faktorielle);
        add(n);
        add(ntxt);
        add(p2);

        //3. Zeile
        add(go);
        add(p3);
        add(ergebnis);
        add(ergebnistxt);



        //Elemente zum Actionlistener hinzufügen
        RechnenAction h= new RechnenAction();
        ahochb.addActionListener(h);
        faktorielle.addActionListener(h);
        basistxt.addActionListener(h);
        exponenttxt.addActionListener(h);
        ntxt.addActionListener(h);
        ergebnistxt.addActionListener(h);
        go.addActionListener(h);
	}
    private class RechnenAction implements ActionListener{
    	public void actionPerformed(ActionEvent e){

    		//Wenn Button ahochb gedrückt wurde,
    		if(ahochb.getActionCommand()=="A"){
                    if(e.getSource()==basistxt){
    			//Eingaben aufnehmen und in Zahlenwerte umwandeln
        		String eingabe1 =basistxt.getText();
        		int basis2 =Integer.parseInt(eingabe1);
                    
                    if(e.getSource()==exponenttxt){
        		String eingabe2 =exponenttxt.getText();
        		int exponent2 =Integer.parseInt(eingabe2);
                    

        		//Methoden zum berechnen aufrufen
    		 	if(e.getSource()==go){
    		 		int ergebnis =Rechnen.aHochbI(basis2,exponent2);
    		 		ergebnistxt.setText(""+ergebnis);
    		 	}
    		 		
    		 	}
                }
    		}
    	}


    		}



        }
 
S

SlaterB

Gast
und was ist deine Frage?
naja, wenn man sich die Mühe macht, den Code zu kopieren, unbekannte Klassen wie Rechnen auszubauen usw. dann darf man das Problem gnädig selber feststellen ;)

du hast die verschiedenen ifs für die einzelnen Buttons alle ineinander geschachtelt, die können doch unmöglich gleichzeitig true ergeben,
was ist überhaupt der Zweck der ifs, willst du prüfen ob in den Textfeldern irgendwas drinsteht?

hier ordentlich formatiert:
Java:
    private class RechnenAction  implements ActionListener {
        public void actionPerformed(ActionEvent e)  {
            // Wenn Button ahochb gedrückt wurde,
            if (ahochb.getActionCommand() == "A")     {
                if (e.getSource() == basistxt)   {
                    // Eingaben aufnehmen und in Zahlenwerte umwandeln
                    String eingabe1 = basistxt.getText();
                    int basis2 = Integer.parseInt(eingabe1);

                    if (e.getSource() == exponenttxt)   {
                        String eingabe2 = exponenttxt.getText();
                        int exponent2 = Integer.parseInt(eingabe2);

                        // Methoden zum berechnen aufrufen
                        if (e.getSource() == go)    {
                            int ergebnis = 4;
                            ergebnistxt.setText("" + ergebnis);
                        }
                    }
                }
            }
        }
    }
Strings übrigens immer mit equals vergleichen, nie mit ==
 
Zuletzt bearbeitet von einem Moderator:
T

TGM Schueler

Gast
Tut mir leid für die schlechte Aufbereitung des Codes nur ich war in den letzen Minuten des Unterrichts schon leicht gestreßt.
Ich hab den Code jz so formariert wie du es gesagt hast ;)
trotzdem funktioniert noch immer nichts.
Ja, die vielen IF's sind dazu da das kontrolliert wurde was alles gedrückt worden ist bzw ob was in den JTextfeldern was dirn ist.

Hier noch zusätzlich die 2 anderen Klassen :

Klasse Rechnen:
Java:
public class Rechnen {
	
	/**
	 * Methode zum potenzieren
	 * 
	 * @param exponent
	 * @param basis
	 * @return ergebnis Gibt das Ergebnis des potenzierten
	 * 		   zurück. 
	 */
	public static int aHochbI(int basis,int exponent){
		int ergebnis=1;
		if((basis >=0)&&(exponent >=0)){
			for(int i=exponent ;i >=0;i--){
				ergebnis =ergebnis*basis ;
			}
		}
		return ergebnis;
	}
	
	/**
	 * Methode zum faktoriseren.
	 * 
	 * @param n Positive ganzahlige Zahl. 
	 * @return ergebnis Gibt das Ergebnis des faktorisierten
	 * 		   zurück.
	 */
	public static int faktorielleI(int n){
		int ergebnis=1;
		for(int i =0;i==n;i++){
			ergebnis=ergebnis*i;
		}
		return ergebnis;
	}

}

Klasse RechnenGUI:
Java:
public class RechnenGUI extends JFrame {
    public static void main(String[] args){
        new RechnenGUI();        
    }
    public RechnenGUI(){
//Titelzeile setzen
setTitle("Mini-Rechner");
//Schließ-Aktivität setzen
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//MyPanel einfügen
Container C = this.getContentPane();
C.add(new RechnenPanel());
//sichtbar machen des Fensters
setVisible(true);
setSize(500,250);
    }
}

Danke im voraus für die Hilfe ! :D
 
S

SlaterB

Gast
also mit e.getSource()-Vergleichen kommst du nicht weit, jedes Event hat genau eine Source, das kann in keinem Fall funktioneren,

wenn dann mache doch
Java:
String text = txtFeldXY.getText();
if (!"".equals(text)) {
   Integer parsen
   weiter gehts
}
Ineinanderschachtelung ist dann immer noch nicht so toll, aber könnte erstmal funktionieren
 
T

TGM Schueler

Gast
Aja und an SlaterB nochmals ein ganz ein großes Lob !, danke für das durch arbeiten durch meinen Chaos Code ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L JLabel Methode setText funktioniert nicht AWT, Swing, JavaFX & SWT 5
G Methode setText AWT, Swing, JavaFX & SWT 4
W JEditorPane textausrichtung nach settext funktioniert nicht mehr AWT, Swing, JavaFX & SWT 11
zhermann NullPointerException bei Label.setText() AWT, Swing, JavaFX & SWT 5
C JavaFX mit .setText() befülltes Textfield liefert anschließend mit .getText() den ursprünglichen Wert? AWT, Swing, JavaFX & SWT 1
it_is_all jLabel.setText -> Char in Str: NullpointerException AWT, Swing, JavaFX & SWT 1
J Swing JTextpane aktuallisiert nicht den setText? AWT, Swing, JavaFX & SWT 9
S JLabel setText() Problem AWT, Swing, JavaFX & SWT 6
K JavaFX RadioButton.setText() AWT, Swing, JavaFX & SWT 11
Z Window Builder - Labels mit setText befüllen AWT, Swing, JavaFX & SWT 11
2 JLabel - setText ändert den Text nicht AWT, Swing, JavaFX & SWT 4
C JTextPane scrollt mit setText() immer nach oben AWT, Swing, JavaFX & SWT 2
A Textfeld.append/.setText ohne Funktion AWT, Swing, JavaFX & SWT 2
B Swing label.setText() macht probleme AWT, Swing, JavaFX & SWT 5
A editable JTextField & setText AWT, Swing, JavaFX & SWT 2
A Minimalestopuhr: JLabel.setText() durch eigenes Event ändern AWT, Swing, JavaFX & SWT 6
P Swing JtextArea füllen mit setText AWT, Swing, JavaFX & SWT 7
J Swing JTextField reagiert nicht auf .setText(); AWT, Swing, JavaFX & SWT 24
S JButton und textfield.setText - Komponenten über-/verdecken sich AWT, Swing, JavaFX & SWT 15
G Menü verschwindet durch .setText() AWT, Swing, JavaFX & SWT 4
C Swing TableCellRenderer: setText() vs. setIcon() AWT, Swing, JavaFX & SWT 5
E JTextPane setText ignoriert \n AWT, Swing, JavaFX & SWT 6
A Swing JFrame vergrößert sich immer bei setText() eines Labels AWT, Swing, JavaFX & SWT 3
S Swing JLabel.setText und Multithreads AWT, Swing, JavaFX & SWT 5
B AWT Problem bei setText() AWT, Swing, JavaFX & SWT 5
S [Button] setText("String") AWT, Swing, JavaFX & SWT 5
E Swing JLabel ändert seine Position nach setText AWT, Swing, JavaFX & SWT 2
S Swing jTextPaine kein Zeilenumbruch nach setText() AWT, Swing, JavaFX & SWT 9
L JLabel.setText() AWT, Swing, JavaFX & SWT 8
T Von JMenuItem setText auf JButton AWT, Swing, JavaFX & SWT 2
T JLabel.setText() funktioniert erst nach repaint() etc.? AWT, Swing, JavaFX & SWT 4
B setText() auf TextField mit Document AWT, Swing, JavaFX & SWT 2
X JTextArea Text ausgeben mit setText(a) aber wie? AWT, Swing, JavaFX & SWT 3
B Label mit setText geschriebener Text wird nicht angezeigt AWT, Swing, JavaFX & SWT 9
Z Die ausgabe.setText(b.getisbn()); überschreibt sich jedesmal AWT, Swing, JavaFX & SWT 4
M JLabel und setText(); AWT, Swing, JavaFX & SWT 4
Z jLabel.setText("Name: " + x.getName()); --> AWT, Swing, JavaFX & SWT 6
P Fehlerhafte Darstellung bei JLabel.setText AWT, Swing, JavaFX & SWT 2
V Null Pointer Exception bei JTextField setText AWT, Swing, JavaFX & SWT 25
D setText? AWT, Swing, JavaFX & SWT 4
M x.setText("") auf JLabel AWT, Swing, JavaFX & SWT 18
S JEditorPane setText() Problem mit String übergeben AWT, Swing, JavaFX & SWT 3
MiMa Optimieren einer Methode zum Zentrieren von Fenstern AWT, Swing, JavaFX & SWT 0
P Methode wird nicht überprüft AWT, Swing, JavaFX & SWT 4
P paintComponent-Methode wird dauernd neu aufgerufen AWT, Swing, JavaFX & SWT 2
M passende Reflexion-Methode?? AWT, Swing, JavaFX & SWT 1
M Seltsame Exception bei setVisible(true) Methode in einem JFrame AWT, Swing, JavaFX & SWT 2
M Swing Methode datenLesen() greift auf catchBlock zu? AWT, Swing, JavaFX & SWT 25
K JavaFX unterschiedliche (mehrere Fenster) in seperater Main Methode AWT, Swing, JavaFX & SWT 26
U was bewirkt die methode fill und unterschied zu anderen fill Methoden in 2dgraphics? (Java)? AWT, Swing, JavaFX & SWT 6
H Transparent zeichnen mit drawImage in paintComponent Methode AWT, Swing, JavaFX & SWT 3
Z Methode bei Boolean change neu Ausführen AWT, Swing, JavaFX & SWT 9
T TableView über Methode befüllen AWT, Swing, JavaFX & SWT 10
H Event Handling Thread - Abruf der get-Methode AWT, Swing, JavaFX & SWT 5
L JFrame Gui in anderer Methode aufrufen AWT, Swing, JavaFX & SWT 0
J Rekursive Methode JProgressBar AWT, Swing, JavaFX & SWT 4
A Methode pausieren bis anderes Ereignis ausgeführt AWT, Swing, JavaFX & SWT 2
K Swing Text eines Lables in einer Methode ändern AWT, Swing, JavaFX & SWT 13
1 Swing Progressbar benutzen um Fortschritt einer Methode anzuzeigen AWT, Swing, JavaFX & SWT 4
J Compiler in der JavaFX stop() Methode warten lassen bist eine Aktion in einer anderen Scene gemacht AWT, Swing, JavaFX & SWT 5
L JavaFX Problem beim Aufrufen einer Methode AWT, Swing, JavaFX & SWT 5
J 2D-Grafik Brauche Erklärung von Methode AWT, Swing, JavaFX & SWT 1
L Methode zum Füllen einer ComboBox AWT, Swing, JavaFX & SWT 4
I Methode Draw3DRect und DrawRect AWT, Swing, JavaFX & SWT 2
krgewb 2D-Grafik paint-Methode wird zu oft ausgeführt AWT, Swing, JavaFX & SWT 5
S Zeichen ohne paint-Methode AWT, Swing, JavaFX & SWT 2
K Methode repaint() AWT, Swing, JavaFX & SWT 1
A Methode in bestimmten Intervall ausführen AWT, Swing, JavaFX & SWT 2
J Swing Wann brauche ich @Override vor der paint()-Methode? AWT, Swing, JavaFX & SWT 1
Z jLabel von Methode aus aktualisieren AWT, Swing, JavaFX & SWT 7
Q AWT Methodenaufruf aus actionPerformed-Methode AWT, Swing, JavaFX & SWT 4
G Eine paint-Methode, 2 Welten? AWT, Swing, JavaFX & SWT 3
B Swing Update Swing Komponente bevor Methode startet. AWT, Swing, JavaFX & SWT 4
T Swing Methode in Listener aufrufen AWT, Swing, JavaFX & SWT 3
P keyTyped-Methode AWT, Swing, JavaFX & SWT 1
D JavaFX Java Methoden mit JavaFX Methode kommunizieren lassen? AWT, Swing, JavaFX & SWT 3
M JavaFX Methode nach initialize() aufrufen AWT, Swing, JavaFX & SWT 6
F JavaFX Mit einer Methode auf Stage zugreifen. AWT, Swing, JavaFX & SWT 8
A paint-Methode aufrufen AWT, Swing, JavaFX & SWT 13
C JavaFX Auf Nodes einer FXML-Datei in start Methode zugreifen AWT, Swing, JavaFX & SWT 5
R GUI Element in einer Methode aktualisieren (JTextPane) AWT, Swing, JavaFX & SWT 13
J Swing Problem mit Graphics Methode AWT, Swing, JavaFX & SWT 4
K Swing Durch Methode erzeugte Buttons ansteuern AWT, Swing, JavaFX & SWT 5
S Grafik: Programm kommt nicht zur paint()-Methode AWT, Swing, JavaFX & SWT 6
T LayoutManager Methode, um Bildschirm(fenster) für Aktualisierungen zu blockieren bzw. freizugeben gesucht AWT, Swing, JavaFX & SWT 2
W Paint-Methode in anderer Klasse funktioniert nicht AWT, Swing, JavaFX & SWT 7
S PaintIn - Methode AWT, Swing, JavaFX & SWT 1
J Swing ungewünschter Nebeneffekt bei der repaint() Methode AWT, Swing, JavaFX & SWT 3
A befüllen eines JTables mittels Methode AWT, Swing, JavaFX & SWT 10
K Kann nicht auf GUI Elemente zugreifen, mit einer Methode im Controller klappts, mit der anderen nich AWT, Swing, JavaFX & SWT 10
D JavaFX Interface Initializable - Was machen die Parameter in der Methode inizializeable() ? AWT, Swing, JavaFX & SWT 4
S JLabel-Text in Methode setzen? AWT, Swing, JavaFX & SWT 2
F JavaFX Zugriff auf Controller Methode von einer normalen Klasse aus AWT, Swing, JavaFX & SWT 4
F 2D-Grafik Was ruft die Paint - Methode auf ? AWT, Swing, JavaFX & SWT 2
S JButton u. Label auf paint-Methode AWT, Swing, JavaFX & SWT 1
S Paint Methode ohne implements JPanel AWT, Swing, JavaFX & SWT 1
S Farbe ändern bei der paint-Methode AWT, Swing, JavaFX & SWT 5
J ActionListener soll auf paint() Methode zugreifen AWT, Swing, JavaFX & SWT 1
J Problem mit der paint Methode AWT, Swing, JavaFX & SWT 0
J JLabel während einer methode aktualisieren AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben