import java.awt.Color; import java.awt.Graphics; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.BorderFactory; import javax.swing.JLabel; public class Boule extends JLabel { private static final long serialVersionUID = -3228466367846096427L; private boolean plein; public Boule(){ plein=true; addMouseListener(new MouseListener() { @Override public void mouseReleased(MouseEvent e) { plein=false; } @Override public void mousePressed(MouseEvent e) {} @Override public void mouseExited(MouseEvent e) { setBorder(null); } @Override public void mouseEntered(MouseEvent e) { setBorder(BorderFactory.createEtchedBorder()); } @Override public void mouseClicked(MouseEvent e) {} }); } @Override public void paintComponent(Graphics g){ if(plein){ g.setColor(Color.BLACK); g.fillOval(2, 2, getWidth()-4, getHeight()-4); } else { g.drawOval(2, 2, getWidth()-4, getHeight()-4); } } }
import java.awt.GridLayout; import javax.swing.JFrame; import javax.swing.JPanel; public class SolitaireView extends JPanel { private static final long serialVersionUID = 8061497872023919982L; public SolitaireView(){ setLayout(new GridLayout(7, 7)); remplir(2, 3); remplir(2, 3); remplir(0, 7); remplir(0, 7); remplir(0, 7); remplir(2, 3); remplir(2, 3); } private void remplir(int nbPanel, int nbBoules){ for(int i=0; i<nbPanel; i++){ add(new JPanel()); } for(int i=0; i<nbBoules; i++){ add(new Boule()); } for(int i=0; i<nbPanel; i++){ add(new JPanel()); } } public static void main(String[] args){ JFrame f = new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setSize(400, 400); f.setLocationRelativeTo(null); f.add(new SolitaireView()); f.setVisible(true); } }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionpublic class Case { int ligne; int colonne; Boule b ; private boolean pion = false; private boolean interdit; public Case(int i, int j, boolean pion) { ligne = i; colonne = j; interdit = false; this.setPion(pion); } public void setInterdit() { interdit = true; } public boolean setPion(boolean pion) { if (interdit) return false; this.pion = pion; return true; } public int SetVide() { return 0; } }
public class Boule extends JLabel { private static final long serialVersionUID = -3228466367846096427L; private Case pion; boolean plein; public Boule(int lign, int col) { pion = new Case(lign,col,true); plein = true; addMouseListener(new MouseListener() { @Override public void mouseReleased(MouseEvent e) { plein = false; } @Override public void mousePressed(MouseEvent e) { } @Override public void mouseExited(MouseEvent e) { setBorder(null); } @Override public void mouseEntered(MouseEvent e) { setBorder(BorderFactory.createEtchedBorder()); } @Override public void mouseClicked(MouseEvent e) { } }); } @Override public void paintComponent(Graphics g) { if(plein) { g.setColor(Color.GREEN); g.fillOval(2, 2, getWidth()-4, getHeight()-4); } else { g.drawOval(2, 2, getWidth()-4, getHeight()-4); } } }