• java.lang.IllegalArgumentException: adding a window to a container


    1、错误描述

    Exception in thread "main" java.lang.IllegalArgumentException: adding a window to a container
    	at java.awt.Container.checkNotAWindow(Container.java:490)
    	at java.awt.Container.addImpl(Container.java:1091)
    	at java.awt.Container.add(Container.java:1005)
    	at javax.swing.JFrame.addImpl(JFrame.java:567)
    	at java.awt.Container.add(Container.java:417)
    	at com.you.cmdp.frame.CheckBox.<init>(CheckBox.java:42)
    	at com.you.cmdp.frame.CheckBox.main(CheckBox.java:62)

    2、错误原因

    public CheckBox()
    	{
    		frame.setBounds(100, 100, 400, 300);
    		frame.setFont(font);
    		frame.setForeground(Color.WHITE);
    		frame.setBackground(Color.BLACK);
    		add(frame);
    		
    		cbOne.setText("第一节");
    		cbTwo.setText("第二节");
    		cbThree.setText("第三节");
    		cbFour.setText("第四节");
    		
    		panel.add(cbOne);
    		panel.add(cbTwo);
    		panel.add(cbThree);
    		panel.add(cbFour);
    		
    		frame.add(panel);
    	}
       构造函数中,继承了JFrame,但是不会再次添加add(frame)


    3、解决办法

    public CheckBox()
    	{
    		frame.setBounds(100, 100, 400, 300);
    		frame.setFont(font);
    		frame.setForeground(Color.WHITE);
    		frame.setBackground(Color.BLACK);
    		//add(frame);
    		
    		cbOne.setText("第一节");
    		cbTwo.setText("第二节");
    		cbThree.setText("第三节");
    		cbFour.setText("第四节");
    		
    		panel.add(cbOne);
    		panel.add(cbTwo);
    		panel.add(cbThree);
    		panel.add(cbFour);
    		
    		frame.add(panel);
    	}



  • 相关阅读:
    javaScript 与JQuery 计算器练习
    git在java项目中配置.gitignore不生效的解决办法
    mysql8主从复制配置
    ES6的Promise实例
    常用正则表达式
    Redis在Windows环境下后台启动
    Redis数据操作命令 二
    Redis数据操作命令
    List集合学习笔记
    MyBatis学习链接
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13313914.html
Copyright © 2020-2023  润新知