F
Freddy7
Gast
Hallo,
Ich habe im SouthPanel eines BorderLayouts (Jframe) ein Label, das
Mir einen Status anzeigt (server verbunden / nicht verbunden)
Standardmäßig ist das label als "nicht verbunden" gesetzt,
Wenn sich nun ein client anmeldet, soll nach der anmeldung
Nun nicht mehr "nicht verbunden" sondern "verbunden mit….."
In meiner statuszeile stehen.
Dazu gehe ich so vor, dass ich bei erfoglreicher Verbindung mein Jlabel mit neuem Text versehe.
Und nun müsste ich irgendwie meine gui (am besten nur den southbereich des frames,
Bzw. das panel was sich im south bereich befindet) neu zeichnen lassen.
Ich habe es probiert mit validate() und auch mit repaint()
Einmal auf das southpanel welches im southbereich meines containers liegt,
Angewendet, und auch auch direkt auf meinen container angewendet.
Beide male hat sich überhaupt nichts an der gui getan, und leider
Wurde auch das southpanel nicht neu gezeichnet.
Kann mir jemand sagen was ich falsch mache?
Wo muss jetzt ein repaint() oder ein validate() hin damit ich jetzt meine GUI neu zeichnen lassen kann?
Ich habe im SouthPanel eines BorderLayouts (Jframe) ein Label, das
Mir einen Status anzeigt (server verbunden / nicht verbunden)
Standardmäßig ist das label als "nicht verbunden" gesetzt,
Wenn sich nun ein client anmeldet, soll nach der anmeldung
Nun nicht mehr "nicht verbunden" sondern "verbunden mit….."
In meiner statuszeile stehen.
Dazu gehe ich so vor, dass ich bei erfoglreicher Verbindung mein Jlabel mit neuem Text versehe.
Und nun müsste ich irgendwie meine gui (am besten nur den southbereich des frames,
Bzw. das panel was sich im south bereich befindet) neu zeichnen lassen.
Ich habe es probiert mit validate() und auch mit repaint()
Einmal auf das southpanel welches im southbereich meines containers liegt,
Angewendet, und auch auch direkt auf meinen container angewendet.
Beide male hat sich überhaupt nichts an der gui getan, und leider
Wurde auch das southpanel nicht neu gezeichnet.
Kann mir jemand sagen was ich falsch mache?
Code:
environment = getContentPane();
environment.setLayout(new BorderLayout());
…
southPnl = new JPanel();
…
status_info_label = new JLabel(getStatus());
…
southPnl.add(status_info_label);
…
environment.add("South", southPnl);
setVisible(true);
protected String getStatus()
{
if(connected)
{
status_info = "Connected to "+server+" || "+current_client.getIp()+" <-> "+server_ip+" || ";
}
else
{
status_info = "Not connected || "+current_client.getIp()+" <-> ...";
}
return status_info;
}
Wo muss jetzt ein repaint() oder ein validate() hin damit ich jetzt meine GUI neu zeichnen lassen kann?