Привет всем!!! Помогите пожалуйста советом, я новичёк в Java, никак не могу дойти, как в игре-запоминалке реализовать сравнение картинок(ImageIcon) на двух последовательно нажатых кнопках(JToggleButton) . Размещаю 16 кнопок на панели. Имеется 8 картинок ,размещаю их в кнопки , чтобы картинки 2 раза повторялись. К кнопкам добавляю слушатель событий addActionListener(new ButtonListener()).
| Код | public class JFrameHra extends JFrame { public JToggleButton [] jb = new JToggleButton [16]; public ImageIcon [] img = new ImageIcon[8]; JFrameHra(){ super("Hra"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setJMenuBar(new JMenuBarHra()); setLayout(new GridLayout(4,4)); for (int i=0; i<8; i++){ jb[i] = new JToggleButton (img [i]= new ImageIcon("img/img1.png") ); jb[i].setSelectedIcon(img [i]= new ImageIcon("img/img"+i+".png")); jb[i].addActionListener(new ButtonListener(jb,img)); add(jb[i]); } for (int i=0; i<8; i++){ jb[i] = new JToggleButton (img [i]= new ImageIcon("img/img1.png") ); jb[i].setSelectedIcon(img [i]= new ImageIcon("img/img"+i+".png")); jb[i].addActionListener(new ButtonListener(jb, img)); add(jb[i]); } // Сдеалать форму не меняющей размер setResizable(false); setSize(550,550); setLocation(100, 100); setVisible(true); } }
|
Создаю класс ButtonListener в нём реализую метод actionPerformed(ActionEvent e) в котором обрабатываю события и здесь ЗАГВОЗДКА ((((, не могу додумать как сравнивать картинки на двух последовательно нажатых кнопках, чтобы, если картинки одинаковые кнопки диактивировались.
| Код | public class ButtonListener implements ActionListener { public JToggleButton [] jb ; public ImageIcon [] img; public ButtonListener(JToggleButton jb[], ImageIcon img[]) { this.jb = jb; this.img = img; } @Override public void actionPerformed(ActionEvent e) { JToggleButton b = (JToggleButton)e.getSource(); } }
|
|