import java.awt.*;
class GridLayoutTest {
Button bt[]=new Button[9];
Frame f=new Frame("GridLayout Test");
public static void main(String arg[]){
GridLayoutTest gtobj=new GridLayoutTest();
gtobj.face();
}
void face(){
f.setLayout(new GridLayout(3,3));
int i;
for(i=0;i<9;i++);{
bt[i]=new Button("*"+i);
f.add(bt[i]);
}
f.setSize(400,300);
f.setVisible(true);
} }
解决方案 »
- JAVA的JVM垃圾回收算法问题
- 哪有tools.jar和dt.jar的源码
- [Swing] SwingUtilities.invokeLater()该怎样用?
- jtextpane 的滚动条不自动滚动到末尾
- 谁能看看这两个递归函数有什么区别
- 如何简便清除drawLine绘制的直线?
- 字符串的处理问题,请帮忙看看
- 怎么样获得INSERT\NUM\CAPS LOCK这三个键的状态?
- B/S的问题:applet类生成的class是不是都要分发到各客户端的?
- 一般WEB应用, 多久进行一次FULL GC算是正常的?
- emma统计覆盖率时报错:RPC failure while executing [coverage.get]
- java串口编程
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 9
at GridLayoutTest.face(GridLayoutTest.java:13)
at GridLayoutTest.main(GridLayoutTest.java:7)
bt[i]=new Button("*"+i);
f.add(bt[i]);
}去掉标红的这个';'号
你如果把Button[9]改成10,就不会越界,但是代码只运行了一次,所以只有一个按钮。
你5楼的问题应该是参数类型不对,Button没有整型参数的构造器,需要传入String类型的,所以,你把i换成""+i或者String.valueOf(i)都可以。