Hi, guys!
I'm programming to solve a 3X3 Rubik's Cube using Evolutionary Algorithm. Now there's another problem with GUI.
I want to enable MenuItem mi1_3 (back) after MenuItem mi1_1(initialise) is clicked.
Thanks!
The structure of my program:
Code:public class test extends Frame implements ActionListener {
public static void main(String[] args) {new test();}
test()
{
super("Rubik's Cube");
AnimCube obj = new AnimCube();
MenuBar mb;
Menu m1;
MenuItem mi1_1,mi1_2,mi1_3;
addWindowListener(new WindowAdapter()
{public void windowClosing(
WindowEvent e){System.exit(0);}});
//Build the menu bar
mb = new MenuBar();
setMenuBar(mb);
//Build menus in the menu bar
m1 = new Menu("Menu 1");
mb.add(m1);
mi1_1 = new MenuItem("initialise");
m1.add(mi1_1);
mi1_2 = new MenuItem("solve");
m1.add(mi1_2);
mi1_3 = new MenuItem("back");
m1.add(mi1_3);
mi1_1.setActionCommand("init");
mi1_2.setActionCommand("solve");
m1.add(mi1_3);
mi1_3.setActionCommand("back");
mi1_1.addActionListener(obj);
mi1_2.addActionListener(obj);
mi1_3.addActionListener(obj);
setSize(600,500);
add("Center",new AnimCube());
setVisible(true);
}
/**
* This class deals with solving a scrambled Cube, 3d-projections ..
*/
class AnimCube extends Panel
implements Runnable, MouseListener, MouseMotionListener {
public void paint(Graphics g) {
.....
}
public void mouseExited(MouseEvent e) {
.....
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getActionCommand()=="init"){
c = Random_Run_Cube_3();
repaint();
}
else if(e.getActionCommand()=="back"){
clear();
repaint();
}
else if(e.getActionCommand()=="solve") {
Solving_Cube_Final_3(c);
sol_ena = false;
}
}

