Ich will ein Applet mit einem Button erzeugen, desen Aufschrift durch den Parameter der HTML Datei gesetzt wird (das funktioniert auch). Wenn dieser Button gedrückt, soll ein neuer Button mit genau der gleichen Funktionalität hinzugefügt werden.
Was muss bei actionPerformed hinein, damit das klappt.
Danke schon einmal.
__________________________________________________ Applet Code
Code:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class ButtonHtml extends Applet implements ActionListener
{
Button button1;
String param;
public void init()
{
param = getParameter("var1");
//button1 = new Button("hallo du");
button1 = new Button(param);
add(button1);
button1.addActionListener(this);
}
/*
public void paint(Graphics g)
{
g.drawString(param ,20,10);
}
*/
public void actionPerformed (ActionEvent e){
if(e.getSource() == button1)
{add(button1);
}
}
}
Hab ich gemacht. Ist aber nicht das was ich will.
Zuerst soll nur ein Button da sein. Wenn ich drücke ein weiterer usv. Ich mache also ganz viele Button.
Ist ActionListener und Performed überhaupt richtig für so was?
Warum dieses Beispiel? was will ich damit bezwecken. Ich schreibe demnächst eine Klausur und da könnte sowas rankommen. Habe schon gegoogelt etc.
aber kein Erfolg.
Hab auch schon überlegt das ganze mit einer Schleife zu machen - denke bei action Performed - Aber wie das geht weiss ich nicht und finde ich auch nicht. Aber du sagtest ja button1 darf nur einmal vorkommen.
zuerst drücke ich button1-dadurch entsteht button2-wenn ich button2 drücke entsteht button3 usw.
die Button sollen alle wie button1 sein.
Ich weiss aber nicht was passiert wenn schon drei Button da sind und ich den ersten nochmal drücke. Denke dann wird ein weiterer button erzeugt, der hinter die anderen gesetzt wird.
Danke schon einmal im vorraus.
Fühl mich zumindestens schon mal ernst genommen :?
al = new ActionListener(
public void actionPerformed(ActionEvent e) {
Button b = new Button(buttonName);
b.addActionListener(al);
add(b);
invalidate();
validate();
});
Das der alte Button aber noch immer auch neue Buttons erzeugt ist euch schon klar??
Solange er keine Richtlinien hat, ist dieses ganze gecode hier fürn Arsch...
Ich klink mich mal kurz ein. Und muss ich bei meinem Programm gerade eine JComboBox aus einem LAyout entfernen und an gleicher Stelle ein Label einfüge. Hab mir dafür ( um nicht immer mein komplettes Programm starten zu müssen ) 2 Testklassen geschrieben:
Dieser Code fügt einfach nen neuen Button hinten an ( mit "ADD" ) und löscht jeweils das letzte Element mit "REMOVE". Jetzt eine Verständnisfrage: Warum muss ich nach einem validate nochmal repaint() aufrufen? Mache ich es nicht, bleibt nach dem REMOVE der Rest des gelöschten Knopfes zurück.