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
Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge
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
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.