public class Jeu extends JPanel {
public static void main(String[] args) {
Table tab = new Table();
JLabel pionsB = new JLabel();
tab.setBackground(Color.GREEN);
tab.setPreferredSize(new Dimension(1146,800));
Dimension dimF =new Dimension(80,80);
Dimension dimC =new Dimension(80,80);
Dimension dimB =new Dimension(44,46);
Dimension dimR =new Dimension(46,44);
pionsB.setBorder(BorderFactory.createLineBorder(Color.blue));
pionsB.setHorizontalAlignment(SwingConstants.CENTER);
pionsB.setHorizontalTextPosition(SwingConstants.CENTER);
pionsB.setText("Veuillez entrer le code source ici:");
pionsB.setBounds(new Rectangle(900, 500, 193, 22));
//tab.add(pionsB, null);
for(int i=0;i<10;i++)
for(int j=0;j<5;j++){
if(i%2==0){
IMovableDrawable rect = new RectangleDrawable(Color.WHITE,new Point((j*160)+40,(i*80)+40),dimF);
tab.addDrawable(rect);
}
if(i%2==1){
IMovableDrawable rect = new RectangleDrawable(Color.WHITE,new Point((j*160)+120,(i*80)+40),dimF);
tab.addDrawable(rect);
}
}
for(int i=0;i<10;i++)
for(int j=0;j<5;j++){
if(i%2==0){
IMovableDrawable rect = new RectangleDrawable(Color.BLACK,new Point((j*160)+120,(i*80)+40),dimC);
tab.addDrawable(rect);
}
if(i%2==1){
IMovableDrawable rect = new RectangleDrawable(Color.BLACK,new Point((j*160)+40,(i*80)+40),dimC);
tab.addDrawable(rect);
}
}
for(int i=0;i<10;i++)
for(int j=0;j<5;j++){
if((i%2==0)&&((i==0)||(i==2))){
IMovableDrawable rect = new RectangleDrawable(Color.RED,new Point((j*160)+120,(i*80)+40),dimR);
tab.addDrawable(rect);
}
if((i%2==1)&&((i==1)||(i==3))){
IMovableDrawable rect = new RectangleDrawable(Color.RED,new Point((j*160)+40,(i*80)+40),dimR);
tab.addDrawable(rect);
}
if((i%2==0)&&((i==6)||(i==8))){
IMovableDrawable rect = new RectangleDrawable(Color.BLUE,new Point((j*160)+120,(i*80)+40),dimB);
tab.addDrawable(rect);
}
if((i%2==1)&&((i==7)||(i==9))){
IMovableDrawable rect = new RectangleDrawable(Color.BLUE,new Point((j*160)+40,(i*80)+40),dimB);
tab.addDrawable(rect);
}
}
//IDrawable circle = new CircleDrawable(Color.RED,new Point(50,10),dim);
//jc.addDrawable(circle);
new MoveDrawableMouseListener(tab);
//new SimpleMouseListener(tab);
GUIHelper.showOnFrame(tab,"Jeu de dames");
tab.add(pionsB, null);
}
}
*********************************
et voici la classe Table:
private List drawables = new LinkedList();
Image imgF = Toolkit.getDefaultToolkit().getImage("f.JPG");
Image imgC = Toolkit.getDefaultToolkit().getImage("c.JPG");
Image imgB = Toolkit.getDefaultToolkit().getImage("sb.GIF");
Image imgR = Toolkit.getDefaultToolkit().getImage("sr.GIF");
int x,y;
public void paint(Graphics g) {
g.clearRect(0, 0, 800, 800);
for (Iterator iter = drawables.iterator(); iter.hasNext();) {
IDrawable d = (IDrawable) iter.next();
//d.draw(g);
}
for (Iterator iter = drawables.iterator(); iter.hasNext();) {
IDrawable d = (IDrawable) iter.next();
if(d.getCol()==Color.BLACK){
x=(int)d.getRectangle().getX();
y=(int)d.getRectangle().getY();
g.drawImage(imgF, x, y, this);
}
if(d.getCol()==Color.WHITE){
x=(int)d.getRectangle().getX();
y=(int)d.getRectangle().getY();
g.drawImage(imgC, x, y, this);
}
if(d.getRectangle().getWidth()==44){
x=(int)d.getRectangle().getX();
y=(int)d.getRectangle().getY();
g.drawImage(imgB, x, y, this);
}
if(d.getRectangle().getWidth()==46){
x=(int)d.getRectangle().getX();
y=(int)d.getRectangle().getY();
g.drawImage(imgR, x, y, this);
}
}
}
public void addDrawable(IDrawable d) {
drawables.add(d);
repaint();
}
public void removeDrawable(IDrawable d) {
drawables.remove(d);
repaint();
}
public void clear() {
drawables.clear();
repaint();
}
public List findDrawables(Point p) {
List l = new ArrayList();
for (Iterator iter = drawables.iterator(); iter.hasNext();) {
IDrawable element = (IDrawable) iter.next();
if(element.getRectangle().contains(p)){
l.add(element);
}
}
return l;
}
public List findDrawables(Rectangle r) {
List l = new ArrayList();
for (Iterator iter = drawables.iterator(); iter.hasNext();) {
IDrawable element = (IDrawable) iter.next();
if(element.getRectangle().intersects(r)){
l.add(element);
}
}
return l;
}
public boolean isFree(Rectangle rect) {
for (Iterator iter = drawables.iterator(); iter.hasNext();) {
IDrawable element = (IDrawable) iter.next();
if(element.getRectangle().intersects(rect)){
return false;
}
}
return true;
}
public boolean isAlone(IMovableDrawable drawable) {
Rectangle rect = drawable.getRectangle();
for (Iterator iter = drawables.iterator(); iter.hasNext();) {
IMovableDrawable element = (IMovableDrawable) iter.next();
if(!element.equals(drawable) && element.getRectangle().intersects(rect)) {
return false;
}
}
return true;
}