哪位高人帮忙看看我的代码哪里出错了?万分感谢!!!

耳朵最威风 2007-03-25 02:27:18
一下是问题代码:
import java.awt.*;
public class HomeWorkTwo {

/**
* @param args
*/
public static void main(String[] args) {
Frame f=new Frame("HomeWorkTwo");
f.setLayout(new BorderLayout());
BorderPanel bp=new BorderPanel(2);
f.add(bp);
f.setVisible(true);

}

}
class BorderPanel extends Panel
{

BorderPanel(int x)
{
super(new GridLayout(x,1));
Button buttons[]=new Button[x];
for (int i=0;i<x;i++)
{
buttons[i].setLabel("Button");
this.add(buttons[i]);
}

}
}
我是新手,上面这段程序再编译的时候没有出现问题,可以执行的时候出现了以下问题
Exception in thread "main" java.lang.NullPointerException
at BorderPanel.<init>(HomeWorkTwo.java:26)
at HomeWorkTwo.main(HomeWorkTwo.java:10)
我百思不得其解,望哪位高人指点迷津啊?小第万分感谢!!
...全文
140 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
mq612 2007-03-25
  • 打赏
  • 举报
回复
Button buttons[]=new Button[x]; 这里只是生成了Button的数组,每个单独Button的值都为null,所以在循环中应该buttons[i] = new Button("Button");

改代码为:

Button buttons[]=new Button[x];
for (int i=0;i<x;i++)
{
buttons[i] = new Button("Button");
//buttons[i].setLabel("Button");
this.add(buttons[i]);
}
耳朵最威风 2007-03-25
  • 打赏
  • 举报
回复
谢谢大哥.大哥果然药到病除!

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧