como le hago?

mario
23 de Junio del 2003
como le hago para realizar lo siguiente:
Tengo 2 Clases: C1 y C2.
*C1 es la clase principal de donde voy a declarar a C2
*C2 es una clase que entre sus metodos uno de ellos me retornará un valor. pero ese valor
lo debe retornar despues de pulsar un boton, boton que pertenece a C2. como hago para retornar un valor luego de pulsar un boton??

Josh Luis
23 de Junio del 2003
Puedes implementar el patron Observer
ejemplo:

public class MiBoton extends JButton implements Subject {
Random r = new Random();
ArrayList observadores = new ArrayList();
Color c = Color.red;
public MiBoton(String nombre) {
super(nombre);
setForeground(c);
}
public void cambiaColor() {
c = new Color(r.nextInt(255),r.nextInt(255),r.nextInt(255));
for (int i=0;i<observadores.size();i++) {
((Observer)observadores.get(i)).sendNotify("cambio de color");
}
}
public Color getColor() {
return c;
}

public void registerInterest(Observer obs) {
observadores.add(obs);
}
}
class MiPanel extends JPanel implements Observer {
MiBoton b = null;
public MiPanel(MiBoton b) {
super();
this.b = b;
b.registerInterest(this);
}
public void sendNotify(String mensaje) {
setBackground(b.getColor());
}
}
public class MiFrame extends JFrame {
public MiFrame() {
final MiBoton b = new MiBoton("Pulsame ya");
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
b.cambiaColor();
}
});
this.getContentPane().add(b);
this.getContentPane().add(new MiPanel(b),BorderLayout.NORTH);
this.getContentPane().add(new MiPanel(b),BorderLayout.SOUTH);
this.getContentPane().add(new MiPanel(b),BorderLayout.EAST);
this.getContentPane().add(new MiPanel(b),BorderLayout.WEST);
setSize(500,400);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new B();
}
}

o puedes hacer uso de la Api de java

saludos y suerte

mario
23 de Junio del 2003
lo que quiero saber es como desde una clase A puedo recibit un valor desde un metodo de una clase B. pero la clase B tiene entre otras cosas un boton; lo que deseo es que retorne a la clase A la respuesta despues de pulsar el boton.
Como diablos se hace?