Hallo zusammen!
Ich habe ein kleines Programm geschrieben, dass als Bean für ein Menu dienen soll, welches aus lauter Buttons besteht. Die Anzahl dieser Buttons (der Menüeinträge quasi) soll frei wählbar sein.
Mein Problem ist: Gebe ich z.B. erst 8 Einträge an und dann z.B. fünf, werden die alten acht Buttons mit den neuen fünf nur überschrieben, nicht aber gelöscht..Ich komme nicht drauf, wie ich den Container nach dem Setzen ein neuen Zahl für die Einträge erst löschen kann, bevor ich wieder neue Buttons hinzufüge..Könnte mir da jemand weiterhelfen?
Hier ist der wichtige Programmteil:
So wird natürlich die Schleife immer erneut durchlaufen, aber nicht die alten Button vorher entfernt, was dann in der Darstellung stört, da die alten Buttons bleiben. Und da alle Buttons transparent sind, sieht das eben sehr komisch aus!
Hat jemand eine Idee, wie ich das Problem lösen kann?
Danke schonmal,
Gruß,
Alex.
Ich habe ein kleines Programm geschrieben, dass als Bean für ein Menu dienen soll, welches aus lauter Buttons besteht. Die Anzahl dieser Buttons (der Menüeinträge quasi) soll frei wählbar sein.
Mein Problem ist: Gebe ich z.B. erst 8 Einträge an und dann z.B. fünf, werden die alten acht Buttons mit den neuen fünf nur überschrieben, nicht aber gelöscht..Ich komme nicht drauf, wie ich den Container nach dem Setzen ein neuen Zahl für die Einträge erst löschen kann, bevor ich wieder neue Buttons hinzufüge..Könnte mir da jemand weiterhelfen?
Hier ist der wichtige Programmteil:
Code:
public void setEntrys(int entrys) throws java.beans.PropertyVetoException {
MenuButton = new HTextButton[entrys];
int x=0;
int oldEntrys = this.entrys;
this.entrys = entrys;
for(int i=0;i<entrys;i++){
MenuButton[i] = new HTextButton(text,0,x,buttonWidthX,buttonHeightY);
MenuButton[i].setBackgroundMode(HTextButton.BACKGROUND_FILL);
MenuButton[i].setBackground(BlauHalb);
MenuButton[i].addKeyListener(this);
MenuButton[i].addFocusListener(this);
MenuButton[i].addHActionListener(this);
try {
MenuButton[i].setLook(neuerLook);
}
catch (HInvalidLookException e){
System.out.println("Konnte Look nicht setzen - HInvalidLookException");
e.printStackTrace();
}
cont.add(MenuButton[i]);
x+=buttonHeightY;
}
Hat jemand eine Idee, wie ich das Problem lösen kann?
Danke schonmal,
Gruß,
Alex.