Java编写学生信息查询系统,报错!!!
在窗口ClientFrame中有一个窗格,Newstudentinfo和Selectstudentinfo独立运行都没问题,但是在ClientFrame中只运行Selec...
在窗口ClientFrame中有一个窗格,Newstudentinfo和Selectstudentinfo独立运行都没问题,但是在ClientFrame中只运行Selectstudentinfo,录入信息和查询信息都没有写任何功能,只进行了窗口布局。
报错:Exception in thread "main" java.lang.IllegalArgumentException: adding a window to a container
at java.awt.Container.checkNotAWindow(Unknown Source)
at java.awt.Container.addImpl(Unknown Source)
at javax.swing.JTabbedPane.insertTab(Unknown Source)
at javax.swing.JTabbedPane.addTab(Unknown Source)
at javax.swing.JTabbedPane.add(Unknown Source)
at ClientFrame.<init>(ClientFrame.java:32)
at ClientFrame.main(ClientFrame.java:45)
代码:
import java.awt.*;
import javax.swing.*;
public class ClientFrame extends JFrame{
public ClientFrame(){
JTabbedPane ta = new JTabbedPane();
ta.setFont(new Font("隶书",Font.PLAIN,20));
Newstudentinfo ns = new Newstudentinfo(); //第32
Selectstudentinfo ssi = new Selectstudentinfo();
ta.add("学生信息录入",ns);
ta.add("学生信息查询",ssi);
Container cn = this.getContentPane();
cn.add(ta,BorderLayout.CENTER);
this.setSize(600,600);
setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
ClientFrame cf = new ClientFrame(); //第45
}
} 展开
报错:Exception in thread "main" java.lang.IllegalArgumentException: adding a window to a container
at java.awt.Container.checkNotAWindow(Unknown Source)
at java.awt.Container.addImpl(Unknown Source)
at javax.swing.JTabbedPane.insertTab(Unknown Source)
at javax.swing.JTabbedPane.addTab(Unknown Source)
at javax.swing.JTabbedPane.add(Unknown Source)
at ClientFrame.<init>(ClientFrame.java:32)
at ClientFrame.main(ClientFrame.java:45)
代码:
import java.awt.*;
import javax.swing.*;
public class ClientFrame extends JFrame{
public ClientFrame(){
JTabbedPane ta = new JTabbedPane();
ta.setFont(new Font("隶书",Font.PLAIN,20));
Newstudentinfo ns = new Newstudentinfo(); //第32
Selectstudentinfo ssi = new Selectstudentinfo();
ta.add("学生信息录入",ns);
ta.add("学生信息查询",ssi);
Container cn = this.getContentPane();
cn.add(ta,BorderLayout.CENTER);
this.setSize(600,600);
setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
ClientFrame cf = new ClientFrame(); //第45
}
} 展开
5个回答
展开全部
经过测试,把下面的屏蔽掉,运行是没问题的
//Newstudentinfo ns = new Newstudentinfo(); //第32
// Selectstudentinfo ssi = new Selectstudentinfo();
// ta.add("学生信息录入",ns);
// ta.add("学生信息查询",ssi);
再根据错误提示信息:Exception in thread "main" java.lang.IllegalArgumentException: adding a window to a container
我想你应该是Newstudentinfo 或者Selectstudentinfo 是JFrame类型的吧,然后又把他们添加到ta(JTabbedPane 类型)中,那就是问题所在了。所以要是一定要添加到ta中的话,把Newstudentinfo 和Selectstudentinfo定义成JPane类型就可以了
//Newstudentinfo ns = new Newstudentinfo(); //第32
// Selectstudentinfo ssi = new Selectstudentinfo();
// ta.add("学生信息录入",ns);
// ta.add("学生信息查询",ssi);
再根据错误提示信息:Exception in thread "main" java.lang.IllegalArgumentException: adding a window to a container
我想你应该是Newstudentinfo 或者Selectstudentinfo 是JFrame类型的吧,然后又把他们添加到ta(JTabbedPane 类型)中,那就是问题所在了。所以要是一定要添加到ta中的话,把Newstudentinfo 和Selectstudentinfo定义成JPane类型就可以了
展开全部
天 啊 你们一得swing做的啊,好痛苦哦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
问题比较模糊呢,你没有写入事件响应吧,分别给newstudentinfo和selectstudentinfo写入事件响应
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很久不用swing 帮你顶
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询