繁体   English   中英

我在 JFrame 中添加容器时遇到问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM