CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Besoin d'aide pour un damier en Java?

rajuto1
rajuto1
Niveau 7
04 décembre 2005 à 12:24:32

voila je suis debutant en java, et je veux faire un damier avec des pions jai deja fait un trucs du genre je sais c pas très structuré(c juste pour tester):

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Damier extends JFrame {
JPanel [][]tab=new JPanel[14][16];
private JButton b_cactus;
private JButton b_pions;
private JLabel label;
Container cf=getContentPane();

/***************Constructeur*************/

public Damier(){
setTitle("Le Billabong");

cf.setLayout(new GridLayout(1,2));
JPanel p1=new JPanel();
JPanel p2=new JPanel();

/****************Damier*********************/

p1.setLayout(new GridLayout(14,16));

for(int i=0;i<=13;i++)
for(int j=0;j<=15;j++){
tab[i][j]=new JPanel();
p1.add(tab[i][j]);

}

for(int i=0;i<=13;i++)
for(int j=0;j<=15;j++){
if(((i+j)%2)==0){
if(i==7&&j==7||i==6&&j==8){}
else
tab[i][j].setBackground(Color.gray);
}
}

for(int i=6;i<=7;i++)
for(int j=7;j<=8;j++)
tab[i][j].setBackground(Color.blue);

cf.add(p1);

/********************* A droite du Damier*************************/

p2.setLayout(new GridLayout(3,1));

JPanel p3=new JPanel();
JPanel p4=new JPanel();
JPanel p5=new JPanel();

/*************************Panneau Score***************************/

p3.setBackground(Color.yellow);
label=new JLabel("Score");
p3.add(label);
p2.add(p3);

/*************************Bouton cactus***************************/
p4.setBackground(Color.red);
b_cactus=new JButton("Placez les cactus");
p4.add("CENTER",b_cactus);
p2.add(p4);

/********************bouton placez vos pions************************/

p5.setBackground(Color.green);
b_pions=new JButton("Placez vos pions");
p5.add("CENTER",b_pions)
p2.add(p5);

cf.add(p2);

/******************************Gestion des evenements**********************/

b_pions.addActionListener(new Del1(b_pions));
b_cactus.addActionListener(new Del1(b_cactus));

for(int i=0;i<=13;i++)
for(int j=0;j<=15;j++){

if((i==6&&j==8)||(i==7&&j==7)||(i==6&&j==7)||(
i==7&&j==8)){}
else if(((i+j)%2)==0)
tab[i][j].addMouseListener(new Del2(tab[i][j]));
else
tab[i][j].addMouseListener(new Del3(tab[i][j]));
}

/***************************Centrer la fenetre***************************/
Dimension screenSize =Toolkit.getDefaultToolkit().getScreenSize();
pack();

setLocation((screenSize.width-getWidth())/2,(scr
eenSize.height-getHeight())/2);
}

/**************************Classes Déléguées**************************/
public class Del1 implements ActionListener{
JButton bouton=new JButton();

public Del1(JButton b){
bouton=b;
}
public void actionPerformed(ActionEvent e){
System.out.println("Message 1");
bouton.setEnabled(false);
}
}

public class Del2 extends MouseAdapter{
JPanel panel=new JPanel();

Del2(JPanel p){
panel=p;
}
public void mouseClicked(MouseEvent e ){
System.out.println("Message 2");
}
public void mouseEntered(MouseEvent e){
panel.setBackground(Color.red);
}
public void mouseExited(MouseEvent e){
panel.setBackground(Color.gray);
}
}

public class Del3 extends MouseAdapter{
JPanel panel=new JPanel();

Del3(JPanel p){
panel=p;
}
public void mouseClicked(MouseEvent e ){
System.out.println("Message 2");
}
public void mouseEntered(MouseEvent e){
panel.setBackground(Color.red);
}
public void mouseExited(MouseEvent e){
panel.setBackground(Color.white);
}
}

/***************************Main******************

    • ******************/

public static void main(String []args){
Damier da=new Damier();
da.pack();
da.setVisible(true);
}
}

rajuto1
rajuto1
Niveau 7
04 décembre 2005 à 12:28:02

jarrive pas en fait a mettre des pions sur mon tableau de JPanel , je sais pas comment je dois proceder si mes pions doivent etre des JButton ou pas?

merci de votre aide c super important :ange:

rajuto1
rajuto1
Niveau 7
04 décembre 2005 à 13:20:09

aidez moi pliz :svp:

godrik
godrik
Niveau 30
04 décembre 2005 à 15:09:53

merci de ne pas uper. c´est interdit sur ce forum.
pour mettre tes pions, je te conseille de deriver ton JPanel et de redefinir la fonction paint de cet objet.
et tu affiche un dessin de pion sur cette case s´il faut.
(personnelent, je n´aurais meme pas fait 14x16 Jpanel qui complique plus l´application qu´autre chose, j´aurais redefinit paint directement sur le JPanel de gauche)

rajuto1
rajuto1
Niveau 7
05 décembre 2005 à 15:30:34

merci de ta reponse un autre avis :svp:

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment