JLabels in Panel Aktualisieren

JVolker

Aktives Mitglied
Hallo in meinem Programm gibt es ein JLabel und ein JTextfield und einen Button Übernehmen.

Jetzt möchte ich das der Wert aus dem Textfeld in dem Label übernommen wird.

Java:
lstrecke = new JLabel("die Strecke ist = "+ Test.var.getStrecke());
        final JTextField tfStrecke = new JTextField();
                    tfStrecke.setText("2.25");

JButton sButton = new JButton("Übernehmen");
                    sButton.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent e) {
                          Test.var.setStecke(tfStrecke.getText());    
                          System.out.println(Test.var.getStrecke());  //zum Testen ob wert übernommen
                               }
                    });

die Werte werden in einer externen Klasse gespeichert
 
entweder direkt im actionPerfomed dem label den neuen text zuweisen
Java:
lstrecke.setText(Test.var.getStrecke());
(wobei dafür die Variable lstrecke natürlich final sein muss)

oder du benutzt das MVC Konzept und deine View reagiert mithilfe des Observer-Pattern auf das ändern des Models.
 
@EikeB

Hi also der Wert wird durch das ActionCommand übernommen , nur Leider wird das in dem Label nicht registriert. Es behält den alten wert. Muss das Label neu gezeichnet werden? wenn ja wie?

@Schandro

Ich werde es nachher gleich mal ausprobieren hatte es zwar schon mal getestet aber ohne final.
 
Ein Repaint müsste eigentlich nicht nötig sein, wenn man den Text eines JLabels mit setText()ändert.

Ist da vielleicht ein Schreibfehler:
Code:
Test.var.setStecke(tfStrecke.getText());
Stecke anstatt Strecke?
 

Neue Themen


Zurück
Oben