大哥们,帮忙看看我这段简单的java代码哪里错了,我凌乱了。。

darlingdd 2012-02-11 04:05:32
大哥们,帮忙看看我这段简单的java代码哪里错了,我凌乱了。。

运行ButtonGroup.java,错误如下:
at ButtonGroup.makeBPanel(ButtonGroup.java:12)
at ButtonGroup.<init>(ButtonGroup.java:35)
at ButtonGroup.makeBPanel(ButtonGroup.java:12)
at ButtonGroup.<init>(ButtonGroup.java:35)
at ButtonGroup.makeBPanel(ButtonGroup.java:12)
at ButtonGroup.<init>(ButtonGroup.java:35)
at ButtonGroup.makeBPanel(ButtonGroup.java:12)
at ButtonGroup.<init>(ButtonGroup.java:35)
at ButtonGroup.makeBPanel(ButtonGroup.java:12)
at ButtonGroup.<init>(ButtonGroup.java:35)
at ButtonGroup.makeBPanel(ButtonGroup.java:12)
at ButtonGroup.<init>(ButtonGroup.java:35)
at ButtonGroup.makeBPanel(ButtonGroup.java:12)
at ButtonGroup.<init>(ButtonGroup.java:35)
at ButtonGroup.makeBPanel(ButtonGroup.java:12)
at ButtonGroup.<init>(ButtonGroup.java:35)
at ButtonGroup.makeBPanel(ButtonGroup.java:12)
at ButtonGroup.<init>(ButtonGroup.java:35)
at ButtonGroup.makeBPanel(ButtonGroup.java:12)
at ButtonGroup.<init>(ButtonGroup.java:35)
at ButtonGroup.makeBPanel(ButtonGroup.java:12)
at ButtonGroup.<init>(ButtonGroup.java:35)
at ButtonGroup.makeBPanel(ButtonGroup.java:12)
at ButtonGroup.<init>(ButtonGroup.java:35)
at ButtonGroup.makeBPanel(ButtonGroup.java:12)
at ButtonGroup.<init>(ButtonGroup.java:35)

import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
import java.lang.reflect.*;
import static net.mindview.SwingConsole.*;

public class ButtonGroup extends JFrame{

private static String[] ids = {"A","B","C","D"};

static JPanel makeBPanel(Class<? extends AbstractButton> kind,String[] ids){
ButtonGroup bg = new ButtonGroup();

JPanel jp = new JPanel();
String title = kind.getName();
title = title.substring(title.lastIndexOf('.')+1);
jp.setBorder(new TitledBorder(title));

//for(String id : ids){
AbstractButton ab = new JButton("failed");
// try{
// Constructor ctor = kind.getConstructor(String.class);
// ab = (AbstractButton)ctor.newInstance(id);
// }catch(Exception ex){
// System.err.println("can't create kind :"+ kind);
// }
bg.add(ab);
jp.add(ab);
//}
return jp;
}

public ButtonGroup(){
setLayout(new FlowLayout());
add(makeBPanel(JButton.class,ids));
//add(makeBPanel(JToggleButton.class,ids));
//add(makeBPanel(JCheckBox.class,ids));
//add(makeBPanel(JRadioButton.class,ids));
}

public static void main(String[] args){
run(new ButtonGroup(),500,500);
}
}



package net.mindview;
import javax.swing.*;

public class SwingConsole{
public static void run(final JFrame f,final int width,final int height){
SwingUtilities.invokeLater(new Runnable(){
public void run(){
f.setTitle(f.getClass().getSimpleName());
f.setSize(width,height);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
});
}
}

...全文
137 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenliuyang 2012-02-11
  • 打赏
  • 举报
回复
哥们你这是个死循环啊, 结贴吧。
chenliuyang 2012-02-11
  • 打赏
  • 举报
回复
你ButtonGroup初始化的时候调用了makeBPanel方法, 在makeBPanel中你又new了ButtonGroup , buttonGroup中又会去调用makeBPanel方法,在makeBPanel中你又new了ButtonGroup , buttonGroup中又会去调用makeBPanel方法,在makeBPanel中你又new了ButtonGroup , buttonGroup中又会去调用makeBPanel方法,在makeBPanel中你又new了ButtonGroup , buttonGroup中又会去调用makeBPanel方法,在makeBPanel中你又new了ButtonGroup , buttonGroup中又会去调用makeBPanel方法,在makeBPanel中你又new了ButtonGroup , buttonGroup中又会去调用makeBPanel方法,在makeBPanel中你又new了ButtonGroup , buttonGroup中又会去调用makeBPanel方法,在makeBPanel中你又new了ButtonGroup , buttonGroup中又会去调用makeBPanel方法,
到最后线程栈资源不足异常就出现了

62,614

社区成员

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

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