![]() |
| | Themen-Optionen |
| | Nach oben #1 |
| Neuer Benutzer Registriert seit: 05.01.2006
Beiträge: 3
|
Hallo, ich rufe aus einer anderen Klasse die Blaue Methode auf, um den Text zu ändern. Die Methode ruft er auch auf, da er die Zeile System.out.println("Test erscheint in der Konsole"); ausführt. Warum funktioniert label1.setText(“irgendwas“) nicht. ?? Danke, Buttiman Code: package mypackage1;
import javax.swing.JFrame;
import java.awt.Dimension;
import javax.swing.JTextField;
import java.awt.Rectangle;
import java.awt.Label;
import java.awt.Color;
public class Frame2 extends JFrame
{
private Label label1 = new Label();
public Frame2()
{
try
{
jbInit();
}
catch(Exception e)
{
e.printStackTrace();
}
}
private void jbInit() throws Exception
{
this.getContentPane().setLayout(null);
this.setSize(new Dimension(491, 300));
label1.setBounds(new Rectangle(5, 185, 470, 80));
label1.setBackground(new Color(153, 173, 255));
this.getContentPane().add(label1, null);
}
public void textausgabe()
{
label1.setText("irgendwas");
label1.validate();
label1.repaint();
System.out.println("Test erscheint in der Konsole");
}
}
|
| | |
| | Nach oben #3 |
| Neuer Benutzer Registriert seit: 05.01.2006
Beiträge: 3
|
Leider funktioniert das auch nicht. Füge ich die „setText“ Anweisung weiter oben ein (siehe rote Zeile), bekomme ich den dortigen Text aber eingetragen. Code: package mypackage1;
import javax.swing.JFrame;
import java.awt.Dimension;
import javax.swing.JTextField;
import java.awt.Rectangle;
import java.awt.Label;
import java.awt.Color;
public class Frame2 extends JFrame
{
private Label label1 = new Label();
public Frame2()
{
try
{
jbInit();
}
catch(Exception e)
{
e.printStackTrace();
}
}
private void jbInit() throws Exception
{
this.getContentPane().setLayout(null);
this.setSize(new Dimension(491, 300));
label1.setBounds(new Rectangle(5, 185, 470, 80));
label1.setBackground(new Color(153, 173, 255));
this.getContentPane().add(label1, null);
label1.setText("nochmalirgendwas");
}
public void textausgabe()
{
label1.getParent().invalidate();
label1.setText("irgendwas");
label1.getParent().validate();
System.out.println("Test erscheint in der Konsole");
}
}
|
| | |
| | Nach oben #4 |
| Sesselkleber Registriert seit: 17.01.2005
Beiträge: 575
|
Ja, das liegt daran, dass du den Text änderst bevor die Oberfläche dargestellt wird. Vielleicht hilft es das Objekt in ein Panel einzubetten, mit einem null-layout würde ich sowieso niemals arbeiten. Das hier funktioniert einwandfrei: PHP-Code: |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Probleme mit RSS | heohni | PHP-Programmierung | 21 | 13.10.2006 12:10 |
| Text hinter einem Bild mittig positionieren | florian | HTML, XML und CSS | 3 | 13.09.2006 21:28 |
| Vokabeltrainer | asenodin | Allgemeine Java-Programmierung | 9 | 28.05.2006 21:04 |
| Bild im Text mit css? | code5 | HTML, XML und CSS | 11 | 20.12.2005 13:15 |
| Checkboxen auswerten | julia | Desktop-Applikationen und Grafik | 0 | 05.06.2005 13:50 |