很简单,静态的内部类的使用问题。改城下面的看看:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class CardTest1{
public static void main(String args[]) throws Exception{
CardTest1 aa = new CardTest1();
aa.go();
} public void go() {
Panel p1,p2,p3;
Frame f=new Frame("Card Test");
CardLayout myCard=new CardLayout();
f.setLayout(myCard); p1=new Panel();
p2=new Panel();
p3=new Panel(); p1.setBackground(Color.yellow);
p2.setBackground(Color.green);
p3.setBackground(Color.magenta); Button b=new Button("xixi"); f.add(p1,"a");
f.add(p2,"hi");
f.add(p3,"xyx");
f.add(b,"abc"); myCard.show(f,args[0]); f.setSize(200,200);
f.setVisible(true);
}
}
}
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class CardTest1{
public static void main(String args[]) throws Exception{
CardTest1 aa = new CardTest1();
aa.go();
} public void go() {
Panel p1,p2,p3;
Frame f=new Frame("Card Test");
CardLayout myCard=new CardLayout();
f.setLayout(myCard); p1=new Panel();
p2=new Panel();
p3=new Panel(); p1.setBackground(Color.yellow);
p2.setBackground(Color.green);
p3.setBackground(Color.magenta); Button b=new Button("xixi"); f.add(p1,"a");
f.add(p2,"hi");
f.add(p3,"xyx");
f.add(b,"abc"); myCard.show(f,args[0]); f.setSize(200,200);
f.setVisible(true);
}
}
}
但你运行的时候可能没输入参数或参数不正确
你把myCard.show(f,args[0]);改为myCard.show(f,"hi");就知道怎么回事了。
因此出现的数组越界的异常。