Hola que tal, espero me puedan ayudar, estoy trabajando un proyecto con java utilizo netbeans, mi problema es que tengo un Frame principal con un panel el cual solo contiene un arreglo bidimensional de botones que al pulsar uno este abre un JDialog, cada botón abre uno distinto no siempre el mismo ya que tienen características diferentes cada uno.
Lo único que quiero hacer es que una ves que pulso un botón del Panel este se bloquea y al mismo tiempo abre el JDialog, esta ventana que se abre contiene un botón y quiero que al pulsarlo active nuevamente el botón del Panel.
Espero haber sido lo suficientemente explícito. No tengo mucha experiencia con este lenguaje pero estoy trabajando en ello. Gracias de ante mano.
Incluyo un Fragmento de mi código de una de las ventanas en el cual intento hacer referencia al boton del Panel. Cada ventana es un archivo distinto pero se encuentran en el mismo paquete.
Código PHP:
Ver originalclass Dialog1 extends JDialog
{
JButton s = new JButton("Save");
Dialog1()
{
setLayout(null);
//se obtienen las dimensiones de la ventana
this.setSize(500, 350);
this.setLocation(410,1);
this.setUndecorated(true);
Clear();
}
public void Clear()
{
JButton c = new JButton("Activar");
c.setBounds(150, 280, 120, 50);
add(c);
c.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae) {
new Princ().Boton[0][0].setEnabled(true); // esta es la parte que no me funciona
}
});
}
}
Adiciono también el Codigo del Frame y del Panel. Este es un único archivo igualmente en el mismo paquete.
class Principal {
//Variables Globales Para Operaciones
static JFrame f=new MiFrame();//Frame Principal
static JDialog v1=new Dialog1();//Clase AT
public Principal()
{
}
public static void main(String[] arg)
{
f.setVisible(true);
f.setDefaultCloseOperation(3);
f.setResizable(false);
}
//accedemos a los objetos
public JFrame getVentana(){return f;}
public JDialog getDialog1() {return v1;}
}
class MiFrame extends JFrame{
public MiFrame(){
setTitle("Proyecto Tesis");
setSize(400,400);
JPanel p=new Princ();
p.setBackground(Color.white);
add(p);
}
}
class Princ extends JPanel
{
static JButton[][] Boton= new JButton[5][5];
Float TA;
ImageIcon img;
public Princ(){
setLayout(null);
Botones();
Ventana1();
}
public void Ventana1()
{
JLabel letras = new JLabel("Input");
letras.setFont(new java.awt.Font("Tahoma", 0, 35));
letras.setBounds(105,0, 100,50);
add(letras);
}
//Creamos los Botones
public void Botones()
{
int cont=-1, cont2=-60,cont3=-30;
for(int a=0;a<5;a++)
{
cont2=-5;
cont3=cont3+50;
for(int b=0;b<5;b++)
{
cont++;
cont2=cont2+55;
Boton[a][b]=new JButton();
Boton[a][b].setFont(new java.awt.Font("Tahoma",0,20));
Boton[a][b].setBounds(cont3, cont2, 45, 45);
add(Boton[a][b]);
}
}
Boton[4][4].setVisible(false);
Boton[3][4].setVisible(false);
//Boton AT
img=new ImageIcon("/Users/daniel/NetBeansProjects/LuisAguirre/src/imagenes/AT1.jpg");
Boton[0][0].setIcon(img);
Boton[0][0].addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae) {
new Principal().getDialog1().setVisible(true);
new Principal().getVentana().setEnabled(false);
Boton[0][0].setEnabled(false);
}
}); //Fin de Accion Boton AT
}
}