[英]I have a problem whith adding a Container in a JFrame
我是信息学专业的学生,从 Java 开始,我想创建一个项目来制作计算器。
我遇到了以下问题:我想使用 add(contenu) 在我的 JFrame 中添加容器,但它给了我以下警告:
线程“main”中的块引用异常 java.lang.IllegalArgumentException:将容器的父级添加到自身
我不明白为什么会出现这个问题。
这是我的项目的类代码:
类主要:
package com.company; import javax.swing.*; public class Main { public static void main(String[] args) { // write your code here Fenetre fen = new Fenetre(); fen.setVisible(true); } }
Fenetre 类:
package com.company; import javax.swing.*; import java.awt.*; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; public class Fenetre extends JFrame { public JButton boutonsNombre[]; private static int nChiffres = 10; public Fenetre() { setTitle("CALCULATRICE"); setSize(1700, 900); Container contenu = getContentPane(); contenu.setLayout(new FlowLayout()); add(contenu); boutonsNombre = new JButton[nChiffres]; for (int k = 0; k < nChiffres; k++) { boutonsNombre[k] = new JButton(String.valueOf(k+1)); contenu.add(boutonsNombre[k]); } } }
您知道为什么会出现此问题吗?
非常感谢您提前,
诚挚的您
正如已经提到的评论之一,您正在尝试将 JFrame 的内容窗格添加到自身。
以下将起作用:
public Fenetre() {
setTitle("CALCULATRICE");
setSize(1700, 900);
this.setLayout(new FlowLayout());
boutonsNombre = new JButton[nChiffres];
for (int k = 0; k < nChiffres; k++) {
boutonsNombre[k] = new JButton(String.valueOf(k+1));
this.add(boutonsNombre[k]);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.