ragazzi devo consegnare un progetto di dama che ho fatto da solo in gran parte, pero' per creare l'applet e le finestre di dialogo mi sono fatto aiutare.
ci devo mettere commento riga per riga per le classi "movimento" e "caselle" che ho fatto io ci sono riuscito, ma per le classi "damaapplet" e "mydialog" non ci sono riuscito.
me li potreste mettere voi? per mydialog abbastanza dettagliate perche' non ci ho capito nulla, e non ho capito se le finestre sono state fatte con il jbuilder o a mano.
grazie ragazzi
----------------------------------------------------------------------
MyDialog.java
import java.awt.*;
import java.awt.event.*;
import java.awt.Component;
import java.applet.*;
public class MyDialog extends Dialog
implements ActionListener
{
public MyDialog(Applet parentWin,String text)
{
super(new Frame() ,"Attenzione",true);
this.setModal(true);
this.setResizable(false);
this.setLayout(new GridLayout(2,1,10,10));
Label msg=new Label(text,Label.CENTER);
this.add(msg);
Button b=new Button("OK");
b.addActionListener(this);
this.add(b);
this.setSize(text.length()*10,100);
//faccio comparire la fin. di dialogo al centro della parent
this.setLocation(parentWin.getLocation().x+Math.ab s(parentWin.getSize().width-this.getSize().width)/2,
parentWin.getLocation().y+Math.abs(parentWin.getSi ze().height-this.getSize().height)/2);
this.show();
}
public void actionPerformed(ActionEvent e){
if(e.getSource() instanceof Button)
this.removeAll();
hide();
}
}
----------------------------------------------------------------------
DamaApplet.java
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.net.*;
public class DamaApplet extends Applet {
//Elementi dell'interfaccia
private Caselle scacchiera[][]; //Array multidimensionale per la scacchiera
public final int dimOrizzVert=8; //Dimensione 8x8
public Image[] imgs; //Array per salvare le immagini
public Movimento mossa; //Creo la mossa della classe Movimento
public GridLayout gameLayout = new GridLayout(); //Layout scelto per l'applet su design
//Il Jbuilder mi costruisce l'applet e jbInit mi crea la griglia vuota nell'applet
public DamaApplet() {
try
{
jbInit();
}
catch(Exception e)
{
e.printStackTrace();
}
}
//Inizializza l'applet con gli oggetti: immagini e caselle
public void init() {
scacchiera=new Caselle[dimOrizzVert][dimOrizzVert];
imgs=new Image[6]; // 1) pedina bianco
// 2) pedina nera
// 3) dama bianca
// 4) dama nera
// 5) pedina tmp
// 6) dama tmp
//carico le varie immagini
imgs[0] =getImage(getCodeBase(),"images/pedina1.gif");
imgs[1] =getImage(getCodeBase(),"images/pedina2.gif");
imgs[2] =getImage(getCodeBase(),"images/pedina3.gif");
imgs[3] =getImage(getCodeBase(),"images/pedina4.gif");
imgs[4] =getImage(getCodeBase(),"images/pedina5.gif");
imgs[5] =getImage(getCodeBase(),"images/pedina6.gif");
mossa=new Movimento(this); //Creo un oggetto movimento per le mosse
int x,y;
//Definisco la scacchiera
for(x=0,y=0;x<dimOrizzVert;x++) {
for(;y<dimOrizzVert;y++) {
scacchiera[x][y] = new Caselle(x,y,this); //Creo la caselle per ogni elemento della scacchiera
add(scacchiera[x][y]); //Aggiungo la casella alla scacchiera
}
y=0;
}
}
public void TheWinner(String theWinner){
//Funzione vincitore, appare la schermata di dialogo
MyDialog dl=new MyDialog(this,theWinner);
//E rimuove tutto dall'applet
this.removeAll();
}
//Inserite le coordinate ritorna la casella desiderata dell'applet
public Caselle GetCasella(int x, int y){
return this.scacchiera[x][y];
}
//Costruttore dell'applet
private void jbInit() throws Exception
{
//Definisco il layout dell'applet
this.setEnabled(true);
//Definisco il layout della finestra???????????
gameLayout.setColumns(8);
gameLayout.setRows(8);
setLayout(gameLayout);//?????????
setSize(45*this.dimOrizzVert,45*this.dimOrizzVert) ; //Definisce la dimensione della finestra dell'applet
}
}