JLabel-Text in anderem Tab ändern

Status
Nicht offen für weitere Antworten.

muemmel_0811

Bekanntes Mitglied
Hi zusammen,

bitte jetzt nicht lachen, aber ich krieg's einfach nicht hin :oops:

Ich zwei Tabs, die jeweils als "Grundlage" immer ein JPanel besitzen, auf dem dann erst Eingabefelder, Labels usw. enthalten sind.
Beide Tabs werden beim Programmstart geladen - Calc.java:
Code:
public class Calc extends JFrame{
	private static final long serialVersionUID = 1L;
	InputGui ig = new InputGui();
	JTabbedPane tab = new JTabbedPane();
	ResultGui rg = new ResultGui();
	Calc() {
		super();
		initLaF();
		setTitle("Berechnung");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLayout(new BorderLayout());
		tab.addTab("Input", ig);
		tab.addTab("Ergebnis", rg);
		
		getContentPane().add(tab, BorderLayout.CENTER);
		ig.setTab(tab);
	}
	public void initLaF() {
		try {
			UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
			SwingUtilities.updateComponentTreeUI(this);
			SwingUtilities.updateComponentTreeUI(tab);
			SwingUtilities.updateComponentTreeUI(ig);
			SwingUtilities.updateComponentTreeUI(rg);
		}
		catch(Exception c){
		}
	}
	public static void main(String[] args) {
		JFrame f = new Calc();
		f.setSize(900,800);
		f.setLocation(200,20);
		f.setVisible(true);
	}
}

Für die Berechnung der Ergebnisse hab ich nochmals eine gesonderte Datei angelegt, und von dieser aus wollte ich dann auf die ResultGui zugreifen und bspw. mit
Code:
...
ResultGui rg = new ResultGui();
rg.pGrund.ggM.setText("blabla");
...
den Text des Labels ändern - das klappt aber nicht - das Label bleibt leer :(
Die ResultGui.java sieht so aus:
Code:
package pack;
import info.clearthought.layout.TableLayout;
import java.awt.Color;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class ResultGui extends JPanel{
	private static final long serialVersionUID = 1L;
	Grund pGrund = new Grund();
	ResultGui() {
		super();
		double border = 10.0;
		double size[][] = {{border, 500, TableLayout.FILL},
							{border, 20,60,100}};
		setLayout(new TableLayout(size));
		add(pGrund, "1, 1");
	}
	public class Grund extends JPanel {
		JLabel lb = new JLabel("<html>[b]+[/b]</html>");
		JLabel lb2 = new JLabel("Ergebnis 1");
		JLabel ggA = new JLabel();
		JLabel ggE = new JLabel();
		JLabel ggM = new JLabel();
		Grund() {
			super();
			double b = 5.0;
			double tl[][] = {{b, 20, 200, 90, 90, 100},
								{TableLayout.FILL}};
			setLayout(new TableLayout(tl));
			setBackground(Color.white);
			
			add(lb, "1, 0");
			add(lb2,"2, 0");
			add(ggA, "3, 0");
			add(ggE,"4, 0");
			add(ggM,"5, 0");
		}
	}
}


Was muss ich tun, damit ich das JLabel im Nachhinein beschriften kann?

Danke und Grüße,
muemmel_0811
 

Schandro

Top Contributor
guck mal mit system.ou, ob der setText Befehl wirklich aufgerufen wird, und setz einen Anfangstext auf das JLabel (mithilfe des Konstruktors) um zu sehen, ob das Label überhaupt sichtbar ist

edit: soweit ich weiß, ruft setText eh repaint auf oder so, probiers aber mal aus
 

muemmel_0811

Bekanntes Mitglied
Danke Euch beiden, aber geholfen hat's leider nicht :(

Ich hab hier mal eine kleine Test-Applikation gebastelt, falls noch jemand Lust hat mir beim Problemlösen zu helfen.
Simple.java
Code:
package p;
import java.awt.*;
import java.awt.event.*;
import javax.swing.JFrame;
import javax.swing.JTabbedPane;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
public class Simple extends JFrame{
	JTabbedPane tab = new JTabbedPane();
	Rein re = new Rein();
	Raus ra = new Raus();	
	Simple() {
		super();
		initLaF();
		setTitle("TEST-Umgebung");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLayout(new BorderLayout());
		tab.addTab("Input", re);
		tab.addTab("Ergebnis", ra);		
		getContentPane().add(tab, BorderLayout.CENTER);		
		re.setTab(tab);
	}	
	public void initLaF() {
		try {
			UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
			SwingUtilities.updateComponentTreeUI(this);
			SwingUtilities.updateComponentTreeUI(tab);
			SwingUtilities.updateComponentTreeUI(re);
			SwingUtilities.updateComponentTreeUI(ra);
		}
		catch(Exception c){
		}
	}
	public static void main(String[] args) {
		JFrame f = new Simple();
		f.setSize(500,200);
		f.setLocation(200,20);
		f.setVisible(true);
	}
}

Rein.java
Code:
package p;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JTabbedPane;
public class Rein extends JTabbedPane{
	JButton test = new JButton("Test");
	Raus r = new Raus();
	JTabbedPane tab = new JTabbedPane();
	Rein() {
		super();
		setLayout(new FlowLayout());
		test.addActionListener(new Butt());
		add(test);
	}	
	public void setTab(JTabbedPane ta) {
		tab = ta;
	}	
	public JTabbedPane getTab() {
		return tab;
	}	
	class Butt implements ActionListener{
		public void actionPerformed(ActionEvent ae) {
			getTab().setSelectedIndex(1);
			r.lbl.setText("BliBlaBlubBlub");
		}
	}
}

Raus.java
Code:
package p;
import java.awt.FlowLayout;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Raus extends JPanel{
	JLabel lbl = new JLabel("TextTextText");
	Raus() {		
		super();
		setLayout(new FlowLayout());
		add(lbl);
	}
}

Grüße,
muemmel_0811
 

MathiasBauer

Bekanntes Mitglied
Du erzeugst dir in Rein() neue Objekte und versuchst die der Klasse Simple zu ändern!

Du könntest dir z.B. im Konstruktor Rein die JTabbedPane und Raus mit übergeben. Dann brauchst du in Rein keine neuen Objekte mehr zu erstellen.
 

muemmel_0811

Bekanntes Mitglied
Hallo Mathias,

vielen vielen Dank für Deine Hilfe!
Ich hab zwar eine ganze Zeit lang gebraucht, bis ich umgesetzt hab, was Du mir erklärt hast, aber dafür funktioniert es jetzt :applaus:

Und hier für alle die, die evtl. mal vor dem gleichen Problem stehen, nochmal die funktionierende Version:
Simple.java
Code:
package p;
import java.awt.*;
import java.awt.event.*;
import javax.swing.JFrame;
import javax.swing.JTabbedPane;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
public class Simple extends JFrame{
	JTabbedPane tab = new JTabbedPane();
	Raus ra = new Raus();
	Rein re = new Rein(tab, ra);
	Simple() {
		super();
		initLaF();
		setTitle("TEST-Umgebung");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLayout(new BorderLayout());
		tab.addTab("Input", re);
		tab.addTab("Ergebnis", ra);
		getContentPane().add(tab, BorderLayout.CENTER);
	}
	public void initLaF() {
		try {
			UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
			SwingUtilities.updateComponentTreeUI(this);
			SwingUtilities.updateComponentTreeUI(tab);
			SwingUtilities.updateComponentTreeUI(re);
			SwingUtilities.updateComponentTreeUI(ra);
		}
		catch(Exception c){
		}
	}
	public static void main(String[] args) {
		JFrame f = new Simple();
		f.setSize(500,200);
		f.setLocation(200,20);
		f.setVisible(true);
	}
}

Rein.java
Code:
package p;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
public class Rein extends JTabbedPane{
	JButton test = new JButton("Test");
	JTabbedPane tt = new JTabbedPane();
	Raus pp;
	Rein(JTabbedPane t, Raus r) {
		super();
		setLayout(new FlowLayout());
		test.addActionListener(new Butt());
		add(test);
		tt = t;
		pp = r;
	}
	class Butt implements ActionListener{
		public void actionPerformed(ActionEvent ae) {
			tt.setSelectedIndex(1);
			pp.lbl.setText("sldfjksldfwoief wfw eofiwjeflm");
		}
	}
}

Raus.java
Code:
package p;
import java.awt.FlowLayout;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Raus extends JPanel{
	JLabel lbl = new JLabel("dumdidum");
	Raus() {
		super();
		setLayout(new FlowLayout());
		add(lbl);
	}
}

Nochmals Danke - und schon wieder was gelernt :)
Grüße,
muemmel_0811
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
GoenntHack Java Text von JLabel verändert sich nicht Java Basics - Anfänger-Themen 1
K Jlabel mit itemlistevent Text gegeben, wird nicht angezeigt Java Basics - Anfänger-Themen 5
AnnaBauer21 GridBagLayout JLabel weightx: Unterschiedliche Breite mit & ohne Text Java Basics - Anfänger-Themen 6
T Jlabel durch Text in 2 anderen Jlabels sichtbar machen Java Basics - Anfänger-Themen 4
W Klassen Fehler bei public void setLabelText(JLabel label, String text) Java Basics - Anfänger-Themen 11
3 JLabel - Text in mehreren Zeilen zentrieren Java Basics - Anfänger-Themen 5
S Text in einem JLabel nur zum Teil Fett Java Basics - Anfänger-Themen 2
B JLabel Text Formatierung Java Basics - Anfänger-Themen 5
SexyPenny90 JLabel Text und Icon untereinander verwenden Java Basics - Anfänger-Themen 3
T JLabel mit Text und Bild Java Basics - Anfänger-Themen 3
D [JLabel] bild mit text? Java Basics - Anfänger-Themen 8
G JLabel - Icon und Text untereinander anordnen? Java Basics - Anfänger-Themen 2
D JLabel Text-Änderung wird nicht angezeigt Java Basics - Anfänger-Themen 9
S Text in einem JLabel Java Basics - Anfänger-Themen 3
W ein JLabel oder JTextfield in einem Canvas-Kontext einbringen : geht das ? Java Basics - Anfänger-Themen 4
J Auf einem JLabel Linien Malen Java Basics - Anfänger-Themen 1
J neues Object (JLabel) vorab zum Layout hinzufügen , Location setzen, etc? Java Basics - Anfänger-Themen 2
J JLabel bzw. Image Icon mit KeyEvent bewgen Java Basics - Anfänger-Themen 9
JUNSKI Zeilenumbruch JLabel Java Basics - Anfänger-Themen 1
H Mit setter-Methode JLabel in einer andern Klasse ändern. Java Basics - Anfänger-Themen 40
S Mit for-Schleife ein 2D JLabel-Array mit veränderbaren Icons erstellen Java Basics - Anfänger-Themen 3
Tom/S JLabel Icon Farbe Java Basics - Anfänger-Themen 2
N Variabel in eine class mit "extends JLabel" übertragen Java Basics - Anfänger-Themen 2
S Kontrollieren, ob ein Jlabel nicht sichtbar ist Java Basics - Anfänger-Themen 6
S Input/Output JLabel verschieben Java Basics - Anfänger-Themen 7
CptK Interface JLabel bewegt sich nicht sondern teleportiert sich... Java Basics - Anfänger-Themen 3
CptK Methoden JLabel erstellen & verschieben Java Basics - Anfänger-Themen 1
T JLabel hat falsche größe Java Basics - Anfänger-Themen 1
A JLabel mit button drücken verändern Java Basics - Anfänger-Themen 6
CptK JLabel im Array Java Basics - Anfänger-Themen 2
L Threads Mit Threads JLabel ändern! Java Basics - Anfänger-Themen 2
D Methoden JButton und JLabel in einer Methode erstellen Java Basics - Anfänger-Themen 5
P Auf JLabel zugreifen Java Basics - Anfänger-Themen 12
P Erste Schritte JLabel wird nicht angezeigt Java Basics - Anfänger-Themen 4
W JLabel, Farbe durch Listener ändern Java Basics - Anfänger-Themen 6
M Vererbung Ein JLabel einer Elternklasse anzeigen Java Basics - Anfänger-Themen 8
D Klassen Wert aus JTextfield in JLabel (andere Klasse) darstellen. Java Basics - Anfänger-Themen 60
J Array in JLabel ausgeben Java Basics - Anfänger-Themen 2
S Variablen JLabel backImagePanel Fehlermeldung Java Basics - Anfänger-Themen 3
snipesss [Java] Schriftart und Schriftgröße von JLabel in einer Zeile festlegen? Java Basics - Anfänger-Themen 3
J JLabel cannot be resolved Java Basics - Anfänger-Themen 8
S JLabel sichtbar machen/GUI Java Basics - Anfänger-Themen 3
WetWer Animation JLabel Java Basics - Anfänger-Themen 2
W aus Methode auf JLabel zugreifen und Image verändern Java Basics - Anfänger-Themen 1
W JLabel in Main aus Thread verändern. Java Basics - Anfänger-Themen 4
L Variable für JLabel wird nicht erzeugt Java Basics - Anfänger-Themen 6
T Objekt in ein JLabel der GUI übergeben Java Basics - Anfänger-Themen 3
S JLabel an Methode übergeben Java Basics - Anfänger-Themen 2
D Ausgabe über JLabel Java Basics - Anfänger-Themen 12
M Erste Schritte Wie speichert und gibt man Arrays aus? (JLabel) Java Basics - Anfänger-Themen 12
M Fangspiel-Probleme (JLabel, Objekt zurücksetzen) Java Basics - Anfänger-Themen 3
C Rechenaufgabe im JLabel ausrechnen Java Basics - Anfänger-Themen 2
J JLabel Icon neu zeichnen Java Basics - Anfänger-Themen 2
Z JLabel Icon ändern Java Basics - Anfänger-Themen 2
Z Vector in jTextField/jLabel darstellen Java Basics - Anfänger-Themen 4
D JLabel ändern in actionperformed Java Basics - Anfänger-Themen 2
V jab ich eclipse verrückt gemacht :D ? array Jpanel, Jlabel Grafik Fehler / Frage Java Basics - Anfänger-Themen 5
G drawString/ JLabel updaten Java Basics - Anfänger-Themen 1
G mouseDragged auf Jlabel Java Basics - Anfänger-Themen 2
K JLabel zur Laufzeit dynamisch erzeugen Java Basics - Anfänger-Themen 7
M Frage zu JLabel Java Basics - Anfänger-Themen 5
T JLabel-Bilderpfad ändern... Java Basics - Anfänger-Themen 2
T JLabel anzeigen lassen... Java Basics - Anfänger-Themen 6
T Mein String in ein JLabel stecken Java Basics - Anfänger-Themen 2
Sogomn JLabel in anderer Klasse zum JFrame hinzufügen Java Basics - Anfänger-Themen 2
T JLabel zum klicken... Java Basics - Anfänger-Themen 15
W Datentypen String-Ausgabe in jLabel Java Basics - Anfänger-Themen 14
J JLabel Ausgabe Java Basics - Anfänger-Themen 3
B mouseClicked JLabel Array mitteilen Java Basics - Anfänger-Themen 6
L JLabel Icon Größe anpassen Java Basics - Anfänger-Themen 11
A Zeilenumbruch im Jlabel Java Basics - Anfänger-Themen 11
R JLabel imageicon jede Sekunde wechseln Java Basics - Anfänger-Themen 3
G GUI JLabel ersetzen Java Basics - Anfänger-Themen 3
M Zeilenumbruch in JLabel Java Basics - Anfänger-Themen 51
A Bildgröße automatisch auf JLabel Größe konvertieren Java Basics - Anfänger-Themen 9
J Bild auf JLabel wird nicht angezeigt Java Basics - Anfänger-Themen 11
S NullPointerException bei zweidimensionalem JLabel-Array Java Basics - Anfänger-Themen 4
T JLabel richtig anordnen? wie gehts? Java Basics - Anfänger-Themen 9
L GridLayout mit JLabel-Array füllen Java Basics - Anfänger-Themen 12
B JLabel löschen/überschreiben Java Basics - Anfänger-Themen 10
P Netbeans Platform - JLabel und JPanel setLocation Problem Java Basics - Anfänger-Themen 2
A JLabel erst auf null dann auf einen Wert setzen Java Basics - Anfänger-Themen 7
F JLabel-Background Java Basics - Anfänger-Themen 7
T JLabel Farbe ändern, Problem Java Basics - Anfänger-Themen 2
C JLabel markieren Java Basics - Anfänger-Themen 2
M BeanBinding Jlist an Jlabel Java Basics - Anfänger-Themen 2
M OOP JLabel werden nicht korrekt eingefärbt Java Basics - Anfänger-Themen 6
P JLabel prüfen,... Java Basics - Anfänger-Themen 6
M JLabel auf JPanel positionieren Java Basics - Anfänger-Themen 8
P JLabel auf JFrame - Schrift vergrößern Java Basics - Anfänger-Themen 2
Z Fonts in einem JLabel Java Basics - Anfänger-Themen 7
MonsterBit setText bei JLabel Java Basics - Anfänger-Themen 16
K Zufällige Auswahl innerhalb eines Arrays und Arrays aus JLabel füllen Java Basics - Anfänger-Themen 32
D JPanel + ein JLabel Java Basics - Anfänger-Themen 8
M JLabel attribut wert zuweisen Java Basics - Anfänger-Themen 2
E JLabel deaktivieren ohne Veränderung der Darstellung Java Basics - Anfänger-Themen 2
0 Icon in JLabel Java Basics - Anfänger-Themen 6
JAVAnnik variable erhöhen bei Klick auf JLabel Java Basics - Anfänger-Themen 3
T JLabel wird nicht gesetzt in Schleife Java Basics - Anfänger-Themen 9
T aus stateChanged ein JLabel adden Java Basics - Anfänger-Themen 6

Ähnliche Java Themen


Oben