Panel que no se actualiza

Borja
19 de Mayo del 2003
Hola tengo un panel al que quiero meter unos botones para reutilizar codigo y dado que dependiendo del caso necesito de uno u otros botones lo he hecho de la siguiente forma (lo abrevio para explicar el problema):


class CControls extends JPanel {

public void addCloseButton(Frame f) {


JButton closeButton = new JButton("Close");
ActionListener closeListener = new ActionListener () {
public void actionPerformed (ActionEvent e) {
frame.hide();
}
};

closeButton.addActionListener(closeListener);
frame=f;
add(closeButton);

}
public CControls(CCanvas canvas) {
super();
this.canvas = canvas;


ZoomListener zoomL= new ZoomListener ();



JButton zoomInButton = new JButton("zoom in");
zoomInButton.addActionListener(zoomL);
add(zoomInButton);

JButton zoomOutButton = new JButton("zoom out");
zoomOutButton.addActionListener(zoomL);
add(zoomOutButton);
}

la cosa es que cuando luego intento meter el boton close llamando desde otro objeto a controls.addCloseButton(frame) no aparece por ningun sitio (ya he probado llamando a validate() y a repaint() pero nada) Muchas gracias

fun_java
19 de Mayo del 2003
Prueba a ponerlo dentro del run de un hilo, y arranca ese hilo en el evento de boton asi seguramente funcione

borja
19 de Mayo del 2003
al final el problema era mas tonto :P se metia por otra rama, asi que dificilmente se iba a pintar el boton :P
gracias