java - 遇到错误 IllegalArgumentException:向容器添加窗口
问题描述
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class SimpleGui implements ActionListener{
JFrame frame;
//main clss
public static void main(String[] args){
SimpleGui gui=new SimpleGui();
gui.go();
}
添加框架和功能的方法
public void go(){
frame=new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton button=new JButton("Change Color");
button.addActionListener(this);
MyDrawPanel drawPanel=new MyDrawPanel();
frame.getContentPane().add(BorderLayout.SOUTH,button);
frame.getContentPane().add(BorderLayout.CENTER,drawPanel);
frame.setSize(300,300);
frame.setVisible(true);
}
它将color
召回ghraphic
public void actionPerformed(ActionEvent e) {
frame.repaint();
}
}
发生异常
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:438)
at SimpleGui.go(SimpleGui.java:27)
at SimpleGui.main(SimpleGui.java:14)
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)
解决方案
推荐阅读
- javascript - 带有用户输入文本字段和多项选择的下拉菜单
- flutter - 颜色没有占据盒子 Flutter 的全尺寸
- angular - 我怎样才能让 fluent-ffmpeg 在 Angular 8 中工作
- sql - 比较oracle sql中的当前行和下一行
- python-3.x - Python:如何将总数返回到整数元组列表中?
- iis - 服务器 IIS windows 2012R2 上的时区
- sql - 多层次的数组聚合
- jsonschema - 限制所有 JSON 模式中的字符?
- python - bot.py 不会运行 Traceback bot.run(TOKEN)
- vba - Powerpoint 宏“MarginRight”代码不起作用