Hi zusammen,
bitte jetzt nicht lachen, aber ich krieg's einfach nicht hin
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:
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
den Text des Labels ändern - das klappt aber nicht - das Label bleibt leer
Die ResultGui.java sieht so aus:
Was muss ich tun, damit ich das JLabel im Nachhinein beschriften kann?
Danke und Grüße,
muemmel_0811
bitte jetzt nicht lachen, aber ich krieg's einfach nicht hin
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");
...
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