Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge

Java Buttons enfernen

Steffen6 / 2 Antworten / Baumansicht Nickles

Hallo,

wie kann ich einen Button aus einem Frame in Java löschen und zwar indem ich auf einen anderen Button klicke?
Hier ein Teil aus meinem Programm:


public Adressverwaltung()
{

super("Adressverwaltung");
this.setLayout(null);
this.setBounds(0,0,570,280);
Color c_background = new Color(0,255,0);
this.setBackground(c_background);
this.setVisible(true);


this.addWindowListener(new WindowAdapter()
{

public void windowClosing(WindowEvent we)
{

System.exit(0);

} // public void windowClosing(WindowEvent we)

}); // this.addWindowsListener(new WindowAdapter);


Button b1 = new Button("Personendaten eingeben");
b1.setBounds(20,50,180,30);
this.add(b1);
ActionListener_machwas al_b1 = new ActionListener_machwas(b1);
b1.addActionListener(al_b1);

}



private class ActionListener_machwas implements ActionListener
{

private Button b = null;

public ActionListener_machwas(Object o)
{

b = (Button) o;

}// public ActionListener_machwas(Object o)

public void actionPerformed(ActionEvent ae)
{
if (b.getLabel() == "Personendaten eingeben")
{

HIER SOLL ANWEISUNG ZU BUTTON LÖSCHEN HIN

} // if (b.getLabel() == "Personendaten eingeben")

} // public void actionPerformed(Action Event ae)

} // private class ActionListener_machwas implements ActionListener

bei Antwort benachrichtigen
Dreamforger Steffen6 „Java Buttons enfernen“
Optionen

Wie waere es wenn du anstatt den Button zu loeschen, ihn nur unsichtbar machst. Ich habe zwar nicht so die Ahnung von Java oberflaechen, aber die Grundlagen sind wohl diesselben wie im restleichen Java.
Recht weit oben habe ich this->setVisible(true) gesehen. Setz doch einfach den Button mit setVisible( false ) auf unsichtbar.
Vorteil:
-Schneller da flag setzen schneller als Speicher allokierung.
-Sicherer weil du keine Null-Pointer-Exceptions produzieren kannst

Hoffe dich nicht falsch verstanden zu haben

bei Antwort benachrichtigen
Steffen6 Dreamforger „Wie waere es wenn du anstatt den Button zu loeschen, ihn nur unsichtbar machst....“
Optionen

das "this.setVisible(true)" bezieht sich nur auf das Frame Fenster, nicht auf den Inhalt. Mein Problem ist, das ich in der ActionListener Methode nicht auf Objekte im Konstruktor zugreifen kann, bzw. nicht weiß wie es geht.

bei Antwort benachrichtigen