Ajouter un commentaire

olihya
Changer plusieurs images simultanément dans un tableau

Bonjour,
J'ai fait un tableau de boutons dans lequel je peux changer l'image lorsque je clique sur le bouton. Cela passe d'un pion clair à un pion sombre.
Maintenant, j'aimerai que lorsque je clique sur un pion, cela change certains pions du tableau en même temps. Que cela passe passe d'un pion clair à un pion foncé ou inversement dans des endroits définis du tableau en même temps.
Avez-vous une idée à ce sujet?
Voici mon code:

package test;

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.AbstractButton;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Fenetre extends JFrame implements ActionListener {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private JPanel pan = new JPanel();
	protected ImageIcon b1;
	protected ImageIcon b2;
	
	public Fenetre() {

		this.setTitle("Test");
		this.setSize(450, 500);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setResizable(false);
		this.setLocationRelativeTo(null);
		setLayout(new GridLayout(5, 5, 0, 0));

		JButton[] b = new JButton[25];
		for (int i = 0; i < b.length; i++) {
			b1 = new ImageIcon("b1.gif");
			b2 = new ImageIcon("b2.gif");
			b[i] = new JButton(b1);
			b[i].addActionListener(this);

			pan.add(b[i]);
		}
		setContentPane(pan);
	}

	{

		this.setContentPane(pan);
		this.setVisible(true);
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		JButton b = (JButton) (e.getSource());
		ImageIcon mImageIconButton = (ImageIcon) b.getIcon();

		if (mImageIconButton.getDescription().equals(b1.getDescription())) {
			b.setIcon(b2);
		} else if (mImageIconButton.getDescription()
				.equals(b2.getDescription())) {
			b.setIcon(b1);
		}
	}

}

Bonne journée

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
 Y   Y   GGG       J  K  K  BBBB  
Y Y G J K K B B
Y G GG J KK BBBB
Y G G J J K K B B
Y GGG JJJ K K BBBB