Estoy tratando de hacer el juego UNO, tengo 5 clases: Modelo, Ventana, Controlador, Cartas y UNO.
En la clase UNO se encuentra el main y allí tengo un objeto de tipo Controlador que recibe 2 atributos, v y m siendo v el nombre del constructor de Ventana y m el nombre del constructor del Modelo.
el error me lo marca en la clase ventana, donde trato de inicializar un atributo de tipo Controlador, me pide que dentro de los paréntesis coloque lo que recibe... (m,v) al hacerlo da error, por eso creé una variable de tipo Ventana en la clase ventana y la inicialicé de la siguiente forma this.ve=v;
eso hace que el error que me marca Netbeans desaparezca, pero al ejecutar el código y darle al botón en cuestión salta el error.
El código es el siguiente:
package uno;
import javax.swing.JButton;
import javax.swing.JFrame;
/**
*
* @author juana
*/
public class Ventana extends JFrame{
JButton miButtoncrt;
JButton Uno,Robar;
int ncdj=0,ncdm=0;
Modelo mo;
Cartas[] mv;
Controlador c;
Ventana v;
JButton [] botonesm;
JButton [] botonesj;
Ventana(String uno, Modelo m) {
super(uno);
this.mo=m;
this.v=v;
mv = new Cartas[80];
for(int yo=0;yo<=79;yo++)
{
mv[yo] = new Cartas();
}
this.setLayout(null);
this.setSize(1366,768);
this.botonesm = new JButton[78];
this.botonesj = new JButton[78];
for(int i = 0; i<=77; i++)
{
botonesm[i] = new JButton();
botonesm[i].setBounds(80*i, 50, 80, 140);
botonesj[i] = new JButton();
botonesj[i].setBounds(80*i, 450, 80, 140);
}
miButtoncrt = new JButton();
miButtoncrt.setBounds(650, 220, 80, 140);
this.add(miButtoncrt);
Uno = new JButton();
Uno.setBounds(900, 265, 90, 60);
this.add(Uno);
Robar = new JButton();
Robar.setBounds(400, 265, 90, 60);
this.add(Robar);
c = new Controlador(m,v);
Robar.addActionListener(c);
for(int i=0;i<=79;i++)
{
if(mo.carta[i].getOwner()=="Jugador")
{
ncdj++;
}
if(mo.carta[i].getOwner()=="Máquina")
{
ncdm++;
}
}
for(int j=0;j<ncdj;j++)
{
this.add(botonesj[j]);
this.add(botonesm[j]);
}
this.setVisible(true);this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}