Exception in thread "main" java.lang.IllegalArgumentException: adding a window to a container

来源:百度知道 编辑:UC知道 时间:2024/05/16 23:58:51
我的程序能够编译成功,就是没法运行,出现:

Exception in thread "main" java.lang.IllegalArgumentException: adding a window to a container
at java.awt.Container.addImpl(Container.java:1022)
at java.awt.Container.add(Container.java:903)
at JRadioButtonDemo.main(gg.java:45)
本人的菜鸟啊,这是什么原因啊,我该怎么办啊?望各路大侠指点迷津------
哦,我的源程序如下:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
class JRadioButtonDemo extends JFrame implements ActionListener
{
JButton b1;
JButton b2;
JButton b3;
static JLabel l1;
static JLabel l2;
void init()
{
b1=new JButton("按钮1");
b2=new JButton("按钮2");
b3=new JButton("按钮3");
l1=new JLabel("软件一班",JLabel.LEFT);
l2=new JLabel("一点就没有",JLabel.CENTER);
b1.setActionCommand("welcome");
b2.setActionCommand("welcom");
b

意思是说你不能把一个window(顶级窗口)放到一个constainer(容器)中去.就是你只能将小容器放大容器中去,反过来就不可以了.

出错位置就在
k.getContentPane().add(new JRadioButtonDemo(),BorderLayout.WEST);

由new JRadioButtonDemo获取的是一个JFrame容器,而getContentPane获取的只是一个Container.

要改写一下还是很麻烦的,不帮你了.

你在JRadioButtonDemo类中实现接口ActionListener是不对,你可以查看下jdk1.5 doc看下.