Моя программа состоит в том, чтобы создать панель с 6 кубиками, которую я могу перебросить. Я хочу иметь возможность выбирать отдельные d ie, щелкая их (и выделенный d ie будет выделен), чтобы они не перебирались. У меня работает панель, но я не могу ее получить, поэтому я могу нажать на объявление ie и выделить ее, чтобы проверить способ сохранения?
package UI;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class DieFrame extends JFrame{
/*
* instance variables
*/
private DiePanel die1;
private DiePanel die2;
private DiePanel die3;
private DiePanel die4;
private DiePanel die5;
private DiePanel die6;
private JPanel field;
private JPanel menu;
/*
* constructor
*/
public DieFrame() {
/*
* initialize frame properties
*/
this.setLayout(new FlowLayout());
this.setSize(800, 300);
this.setTitle("Farkle Die");
/*
* Build Panel
*/
this.createFieldPanel();
this.createMenuPanel();
/*
* add the field & menu to frame
*/
this.add(field);
this.add(menu);
}
//-------------------------------------
// Class Method
//-------------------------------------
//-------------------------------------
// Private Helpers
//-------------------------------------
/*
* Build menu panel
*/
private void createMenuPanel() {
menu = new JPanel();
menu.setBounds(0, 300, 250, 100);
//Create button & add listener to it
JButton rollButton = new JButton("Re-Roll");
rollButton.setSize(300, 200);
rollButton.addActionListener(new RollListener());
//Add button to menu area
menu.add(rollButton);
}
/*
* Build field panel
*/
private void createFieldPanel() {
//set up dice field area
field = new JPanel();
field.setBounds(0,0,250,200);
//create the dice and add them
die1 = new DiePanel();
die2 = new DiePanel();
die3 = new DiePanel();
die4 = new DiePanel();
die5 = new DiePanel();
die6 = new DiePanel();
field.add(die1);
field.add(die2);
field.add(die3);
field.add(die4);
field.add(die5);
field.add(die6);
}
//-------------------------------------
//inner classes
//-------------------------------------
private class RollListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
die1.rollDie();
die2.rollDie();
die3.rollDie();
die4.rollDie();
die5.rollDie();
die6.rollDie();
}
public void mouseClicked(MouseEvent arg0) {
die1.this.setBackground(Color.yellow);
}
}
}