G
Guest
Gast
Ihr seid wohl die letze Rettung, ich habe folgendes Problem :
JAVA APPLET
Ein Menü welches über 3 Buttons verfügt :
- AD
- STATUS
- RTC
Wenn ich AD drücke dann baut er eine Tabelle auf ( aus Rechtecken) und zeichnet auch schön alle Labels.
Sobald ich auf RTC drücke löscht er die ebend gezeichneten.
Sobald ich aber erst auf AD dann auf STATUS drücke löscht er die Tabelle aber die neugezeichneten Rechtecke
werden falsch dargestellt. Es fehlt zb ein Stück eines Rechtecks.
Wenn ich die Reihenfolge AD dann RTC dann STATUS drücke geht alles, wo ist mein Denkfehler???
Ich hoffe der kleine Codeausschnitt hilft weiter, wollte nicht den ganzen Code posten da dies zuviel wäre, bei bedarf schicke ich ihn aber per Mail zu. Die Ansteuerung der Menübuttons funktioniert und er springt auch in die Actionlistener-Routine.
Danke, Chris (der nach 4 Std nichtmehr weiterweiss)
JAVA APPLET
Ein Menü welches über 3 Buttons verfügt :
- AD
- STATUS
- RTC
Wenn ich AD drücke dann baut er eine Tabelle auf ( aus Rechtecken) und zeichnet auch schön alle Labels.
Sobald ich auf RTC drücke löscht er die ebend gezeichneten.
Sobald ich aber erst auf AD dann auf STATUS drücke löscht er die Tabelle aber die neugezeichneten Rechtecke
werden falsch dargestellt. Es fehlt zb ein Stück eines Rechtecks.
Wenn ich die Reihenfolge AD dann RTC dann STATUS drücke geht alles, wo ist mein Denkfehler???
Ich hoffe der kleine Codeausschnitt hilft weiter, wollte nicht den ganzen Code posten da dies zuviel wäre, bei bedarf schicke ich ihn aber per Mail zu. Die Ansteuerung der Menübuttons funktioniert und er springt auch in die Actionlistener-Routine.
Code:
// Darstellung des AD-Screens
public void screen_ad_wandlung()
{
Graphics g = getGraphics();
// Text "Kanal"
Kanal_text.setText("Kanal");
Kanal_text.setAlignment(Label.LEFT);
Kanal_text.setBackground(new Color(216,228,248));
Kanal_text.setForeground(Color.black);
Kanal_text.setFont(new Font("Dialog", Font.BOLD, 16));
Kanal_text.setBounds(35,145+60,155,35);
add(Kanal_text);
// mehere solcher Labels gibt es noch
g.drawRect(49-20,139+60,166,46); //Kanal
// mehrere socher Rechtecke gibt es noch
}
// AD-Screen löschen
public void screen_ad_wandlung_clear()
{
Graphics g = getGraphics();
g.setColor(Color.white);
g.drawRect(49-20,139+60,166,46); //Kanal
remove(Kanal_text);
}
// Status-Screen aufbauen
void screen_status()
{
Graphics g = getGraphics();
g.setColor(Color.black);
g.drawRect(49+390,139+60,166,46); //Kanal
// Text "Kanal"
Status_status.setText("Status");
Status_status.setAlignment(Label.LEFT);
Status_status.setBackground(new Color(216,228,248));
Status_status.setForeground(Color.black);
Status_status.setFont(new Font("Dialog", Font.BOLD, 16));
Status_status.setBounds(35,145+60,155,35);
add(Status_status);
}
// Button gedrückt auswerten
public void actionPerformed(ActionEvent event)
{
if (event.getSource()==button_menu_st)
{
screen_ad_wandlung_clear();
screen_status();
}
if (event.getSource()==button_menu_ad)
{
screen_ad_wandlung();
}
if (event.getSource()==button_menu_rtc)
{
screen_ad_wandlung_clear();
}
}
Danke, Chris (der nach 4 Std nichtmehr weiterweiss)