java 帮我改个错 class名称是 Jpanel

packageText2;importjava.awt.*;importjavax.swing.*;publicclassJpanelextendsJFrame{//定义... package Text2;
import java.awt.*;
import javax.swing.*;
public class Jpanel extends JFrame{
//定义组件
Jpanel jp1,jp2;
JButton jb1,jb2,jb3,jb4,jb5,jb6;
public static void main(String[] args) {
Jpanel jp=new Jpanel();
}
public Jpanel()
{
//创建组件 Jpanel布局的默认方式是FlowLayout;
jp1=new Jpanel();
jp2=new Jpanel();

jb1=new JButton("黄瓜");
jb2=new JButton("冬瓜");
jb3=new JButton("西瓜");
jb4=new JButton("丝瓜");
jb5=new JButton("南瓜");
jb6=new JButton("傻瓜");

//设置布局

//添加Jpanel
jp1.add(jb1);
jp1.add(jb2);
jp2.add(jb3);
jp2.add(jb4);
jp2.add(jb5);

//把Jpanel 加入JFrame
this.add(jp1,BorderLayout.NORTH);
this.add(jb6,BorderLayout.CENTER);
this.add(jp2,BorderLayout.SOUTH);
//设置窗口参数
this.setTitle("面板布局");
this.setLocation(630,350);
this.setSize(280, 200);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);

}
}
编译的时候没错 运行的时候 错误显示是
Exception in thread "main" java.lang.StackOverflowError
at sun.awt.Win32GraphicsConfig.getBounds(Native Method)
at sun.awt.Win32GraphicsConfig.getBounds(Unknown Source)
at java.awt.Window.init(Unknown Source)
at java.awt.Window.<init>(Unknown Source)
at java.awt.Frame.<init>(Unknown Source)
at java.awt.Frame.<init>(Unknown Source)
展开
 我来答
廖北伯
2012-07-12 · TA获得超过526个赞
知道小有建树答主
回答量:375
采纳率:66%
帮助的人:290万
展开全部
[Note1]:
main中的
Jpanel jp=new Jpanel();
造了个指针jp, 指向新造的 Jpanel 的instance.
在创建这 instance时, 它的 constructor 会为 jp.jp1 及 jp.jp2 创建 instance.
然後 创建这两个 instance 时, 又再要为 jp.jp1.jp1, jp.jp1.jp2, jp.jp2.jp1, jp.jp2.jp2 创建 instance, ....
这是无穷尽的连环创建, 当然会耗尽系统资源.
[Note2]:
你的class 叫 Text2.Jpanel, 容易和 javax.swing.JPanel 混淆.
而且这是个 frame, 不是panel, 建议改名为 Text2.MyFrame
[Note3]:
内容更正:
Jpanel jp1, jp2; 改为 JPanel jp1,jp2;
jp1=new Jpanel; 改为 jp1=new JPanel();
jp2=new Jpanel; 改为 jp2=new JPanel();
改这三行就 OK了.
baojin107
2012-07-12
知道答主
回答量:3
采纳率:0%
帮助的人:4807
展开全部
名字有点太那啥了吧,JPanel貌似本来JDK里就有了的吧,这样也可以?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式