Java - Objekte löschen.

...komplette Frage anzeigen

3 Antworten

Eine (erneute) Initialisierung sieht in Java folgendermaßen aus:

butix = new JButton("Testbutton");
//some code
butix = new JButton("neuer Testbutton");

Damit wird das alte Objekt, dessen Referenz auf butix gespeichert war, vom Garbage Collector aufgelesen.

Falls du alle JButtons aus deinem Fenster entfernen willst, dann solltest du die Methode "removeAll()" von "ProList" aufrufen. (vorausgesetzt "ProList" ist eine Instanz von java.awt.Container)

Danke deine Antwort hat mir weitergeholfen! Jetzt werden alle Buttons neu gesetzt so wie ich es wollte.

0
zwar möchte ich das ein Element das sich selbst erstellt auch wieder löscht, damit ich ihn neu initializieren kann.

Jetzt lies' bitte mal genau das, was ich zitiert habe!

  1. Elemente werden vom Programmierer erstellt. Sie erstellen sich nicht selbst.
  2. Warum behältst du das Element nicht, wenn es denn schon da ist? Da spricht doch nichts dagegen. Irgendwie wirkt es umständlich, wenn du ein Element erstellst, dann löschst und dann nochmals erstellst … Die Objekte, die man erstellt, sollten doch einen Sinn haben. Den nimmst du ihnen jedoch, wenn du sie löschst. D.h. ja, es wäre nicht erforderlich gewesen …

Ich möchte ein programm schreiben das Programm Namen und adresse Abspeichert und sobald man das programm öffnet erstellen sich buttons auf die man Drauf klicken kann und sich das Programm öffnet!

0
@FirefloMine
… und sobald man das programm öffnet …

Das Programm ist hier schon geöffnet …

… erstellen sich buttons auf die man Drauf klicken kann und sich das Programm öffnet!

… also braucht hier niemand mehr einen Button zum „Öffnen des Programms“ …

Irgendwie ist das ganze doch sehr unausgegoren …

0

Danke liebe Leute diese Frage hat sich hiermit erledigt!

Die beste Antwort hat JavaTheHutt geschrieben :D

Hier mein Code wie ich das ganze behoben habe:

        JButton butix = new JButton();
    private boolean updateProList(int zz1) {
        int x = 0;
        int y = -30;
        ProListContainer.removeAll();
        ProListContainer.setSize(ProList.getSize());
        ProListContainer.setBackground(Color.BLACK);
        ProListContainer.setVisible(true);
        
        
        while (zz1 != 0) {
            butix = new JButton(zeile[zz1]);
            butix.setSize(120, 30);
            
            if (y >= cc.getContentPane().getSize().height -100) {
                x += 130;
                y = -30;
            }
            y += 40;
            
            butix.setLocation(x, y);
            butix.setText(zeile[zz1]);
            ProListContainer.add(butix);
            butix.setVisible(true);
            ProListContainer.repaint();
            zz1 -= 1;
        }
        
        
        return false;
    }   
    
   ProListContainer.setSize(ProList.getSize());
   ProListContainer.setBackground(Color.BLACK);
   ProListContainer.setVisible(true);
   ProList.add(ProListContainer);

Danke.

Was möchtest Du wissen?