Problema para seleccionar una pestaña desde menu

xavi
13 de Mayo del 2004
Hola, tengo 2 problemas con el siguiente programa:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Cinema3 extends WindowAdapter implements ActionListener
{
private Frame f;
private JTabbedPane jtp;
private MenuBar mb;
private Menu m1,m2;
private MenuItem mi_0,mi1_1,mi1_2,mi1_3,mi2_1;
private Button b1,b2,b3;
private Panel p1,p2,p3,p4;
private Button [][] m;
private Button [][] x;
private Button [][] z;


public static void main(String args[])
{

Cinema3 e=new Cinema3();
e.go();
}

public void go()
{
f=new Frame("Cinema Xavi");
jtp = new JTabbedPane();

mb=new MenuBar();
m1=new Menu("Menu");
m2=new Menu("Sortir");
mi_0=new MenuItem("-");
mi1_1=new MenuItem("Sala 1");
mi1_1.addActionListener(this);
mi1_2=new MenuItem("Sala 2");
mi1_2.addActionListener(this);
mi1_3=new MenuItem("Sala 3");
mi1_3.addActionListener(this);
mi2_1=new MenuItem("Sortir");
mi2_1.addActionListener(this);
f.setMenuBar(mb);
mb.add(m1);
mb.add(m2);
m1.add(mi1_1);
m1.add(mi_0);
m1.add(mi1_2);
m1.addSeparator();
m1.add(mi1_3);
m2.add(mi2_1);

b1=new Button("OK");
b1.addActionListener(this);
b2=new Button("CANCEL");
b2.addActionListener(this);
b3=new Button("BORRAR");
b3.addActionListener(this);


p1=new Panel();
p2=new Panel();
p3=new Panel();
p4=new Panel();

p1.setLayout(new GridLayout(1,3));
p2.setLayout(new GridLayout(10,15));
p3.setLayout(new GridLayout(10,15));
p4.setLayout(new GridLayout(10,15));


p1.add(b1);
p1.add(b2);
p1.add(b3);


f.add(p1,BorderLayout.SOUTH);

m=new Button [10] [];
for (int i=0;i<m.length;i++)
{
m[i]=new Button [15];
for(int j=0;j<m[i].length;j++)
{
m[i][j]=new Button("["+i+"."+j+"]");
p2.add(m[i][j]).setBackground(Color.green);
m[i][j].addActionListener(this);
}
}


x=new Button [10] [];
for (int i=0;i<x.length;i++)
{
x[i]=new Button [15];
for(int j=0;j<x[i].length;j++)
{
x[i][j]=new Button("["+i+"."+j+"]");
p3.add(x[i][j]).setBackground(Color.yellow);
x[i][j].addActionListener(this);
}
}


z=new Button [10] [];
for (int i=0;i<z.length;i++)
{
z[i]=new Button [15];
for(int j=0;j<z[i].length;j++)
{
z[i][j]=new Button("["+i+"."+j+"]");
p4.add(z[i][j]).setBackground(Color.magenta);
x[i][j].addActionListener(this);
}

}

jtp.addTab("Sala 1",p2);
jtp.setSelectedIndex(0);

jtp.addTab("Sala 2",p3);
jtp.addTab("Sala 3",p4);
f.add(jtp, BorderLayout.CENTER);

f.pack();
f.setSize(300,300);
f.setVisible(true);
f.addWindowListener(this);


}


//************************************************************************************

public void actionPerformed(ActionEvent e)
{
Object o=e.getSource();

if (o instanceof MenuItem)
{
if (o.equals(mi1_1))
{
//No se que orden se ha de poner aqui para desde el menu, llamar a la pestaña "Sala 1"
}
if(o.equals(mi1_2))
{
;

}
if(o.equals(mi1_3))
{

}
if(o.equals(mi2_1))
{
System.exit(0);
}
}
//en la siguiente linea de código, no se como decir que si es la pestaña "Sala 1" haga lo que dice despues, en la siguiente: si es la pestaña "Sala 2",etc...
if (o instanceof b4)
{
for(int i=0;i<m.length;i++)
{
for(int j=0;j<m[i].length;j++)
{
if(e.getActionCommand().equals("["+i+"."+j+"]"))
{
if(m[i][j].getBackground().equals(Color.green))
{
m[i][j].setBackground(Color.orange);
}
}
if(e.getActionCommand().equals("BORRAR"))
{
m[i][j].setBackground(Color.green);
}
if(e.getActionCommand().equals("OK"))
{
if(m[i][j].getBackground().equals(Color.orange))
{
m[i][j].setBackground(Color.red);
}
}
if(e.getActionCommand().equals("CANCEL"))
{
if(m[i][j].getBackground().equals(Color.orange))
{
m[i][j].setBackground(Color.green);
}
}
}

}
}
if (o instanceof b5)
{
for(int i=0;i<x.length;i++)
{
for(int j=0;j<x[i].length;j++)
{
if(e.getActionCommand().equals("("+i+"."+j+")"))
{
if(x[i][j].getBackground().equals(Color.green))
{
x[i][j].setBackground(Color.orange);
}
}
if(e.getActionCommand().equals("BORRAR"))
{
x[i][j].setBackground(Color.green);
}
if(e.getActionCommand().equals("OK"))
{
if(x[i][j].getBackground().equals(Color.orange))
{
x[i][j].setBackground(Color.red);
}
}
if(e.getActionCommand().equals("CANCEL"))
{
if(x[i][j].getBackground().equals(Color.orange))
{
x[i][j].setBackground(Color.green);
}
}
}
}
}
if (o instanceof p4)
{
for(int i=0;i<z.length;i++)
{
for(int j=0;j<z[i].length;j++)
{
if(e.getActionCommand().equals("{"+i+"."+j+"}"))
{
if(z[i][j].getBackground().equals(Color.green))
{
z[i][j].setBackground(Color.orange);
}
}
if(e.getActionCommand().equals("Borrar"))
{
z[i][j].setBackground(Color.green);
}
if(e.getActionCommand().equals("OK"))
{
if(z[i][j].getBackground().equals(Color.orange))
{
z[i][j].setBackground(Color.red);
}
}
if(e.getActionCommand().equals("Cancelar"))
{
if(z[i][j].getBackground().equals(Color.orange))
{
z[i][j].setBackground(Color.green);
}
}
}
}
}
}





//************************************************************************************

public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}

Gracias por vuestro tiempo.