错误:java.lang.IllegalArgumentException

弗兰克·索尔

以下代码中的错误是: java.lang.IllegalArgumentException: adding container's parent to itself.

这是代码:

public class humev extends JFrame implements ActionListener{

    //Dichiarazione variabili e costanti

    private static final int larghezza = 1300;
    private static final int altezza = 1000;
    private static final String nome = "Human Evolution";

    private JLabel lab;
    private JButton gioca;
    private JPanel pang;

        public humev(){

            try{
                pang = new JPanel();
                gioca = new JButton("Gioca!");
                gioca.addActionListener(this);
                lab = new JLabel();

                gioca.add(gioca);
                lab.add(lab);
                pang.setLayout(null);
                }
            catch(Exception e1){
                System.err.println(e1);
                System.err.println("Impossibile caricare il frame di gioco!");
                }
        }

    public static void main(String[] args) {

        //Finestra
        try{
            humev h = new humev();

            JFrame finestra = new JFrame(nome);

            Dimension dim_finestra = new Dimension(larghezza, altezza);

            finestra.setPreferredSize(dim_finestra);
            finestra.setMaximumSize(dim_finestra);
            finestra.setResizable(false);
            finestra.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            finestra.pack();
            finestra.setVisible(true);

        }
        catch(Exception e2){
            System.err.println(e2);
            System.err.println("Impossibile caricare la finestra. Frame non caricato");
        }
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        if(e.getSource() == gioca){
            lab.setText("Gioco avviato con successo!");
        }
    }
}
Madhawa Priyashantha

尝试运行此示例。您的代码中存在很多问题。

您正在向自身添加组件

gioca.add(gioca); // don't do this

使用布局。不要使用null

pang.setLayout(null); // don't do this .use layouts .and even if you use null then
//use bounds to absolutely position .if you use null layout and if you add using `.add()` 
//then you will not see those components .

完整的代码

import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class humev extends JFrame implements ActionListener {

    private static final int larghezza = 1300;
    private static final int altezza = 1000;
    private static final String nome = "Human Evolution";

    private final JLabel lab;
    private final JButton gioca;
    private final JPanel pang;

    public humev() {
        super(nome);

        pang = new JPanel();
        //pang.setLayout(new FlowLayout()); // use appropriate layout .for example flowlayout.since flowlayout is default layout for jpanel you can avoid it.but don't use null
        gioca = new JButton("Gioca!");
        gioca.addActionListener(this);
        lab = new JLabel("lable");

        pang.add(gioca);
        pang.add(lab);
        add(pang); // add pang panel to frame
        Dimension dim_finestra = new Dimension(larghezza, altezza);

        setPreferredSize(dim_finestra);
        setMaximumSize(dim_finestra);
        //setResizable(false);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true); 
        pack();

    }

    public static void main(String[] args) {
        humev humev = new humev();
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == gioca) {
            lab.setText("Gioco avviato con successo!");
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

java.lang.IllegalArgumentException:空键

java.lang.IllegalArgumentException:无效的列名

JPA:java.lang.IllegalArgumentException:不是实体

错误-java.lang.IllegalArgumentException:URI方案不是“文件”吗?

获取错误java.lang.IllegalArgumentException

XQuery Saxon异常(java.lang.IllegalArgumentException)

java.lang.IllegalArgumentException:错误引用的类型不是注释类型

引起原因:java.lang.IllegalArgumentException:错误的类:class java.lang.String

VolleyError:java.lang.IllegalArgumentException:超时<0

出现错误java.lang.IllegalArgumentException:意外的url

错误:java.lang.IllegalArgumentException:选项'basePath'必须是目录

无法运行ALS.train,错误:java.lang.IllegalArgumentException

unregisterReceiver原因:java.lang.IllegalArgumentException

Java EE API REST错误:java.lang.IllegalArgumentException

为什么在Netbeans中得到错误:java.lang.IllegalArgumentException和java.lang.reflect.InvocationTargetException?

java.lang.IllegalArgumentException onActivityResult

PySpark pandas_udfs java.lang.IllegalArgumentException错误

奇怪的java.lang.IllegalArgumentException异常

java.lang.IllegalArgumentException:provider =网络

java.lang.IllegalArgumentException:错误的base-64

java.lang.IllegalArgumentException:未知实体

InteliJ Play项目导入错误:java.lang.IllegalArgumentException

错误:java.lang.IllegalArgumentException:发现意外的类型标记67

改造错误 - java.lang.IllegalArgumentException

Spring Sleuth + Zuul = java.lang.IllegalArgumentException: 格式错误的 id

面对 java.lang.IllegalArgumentException

QuickSort 方法中的 java.lang.IllegalArgumentException

FCM 前台通知 Java.Lang.IllegalArgumentException 错误

比较器错误 java.lang.IllegalArgumentException