簡體   English   中英

GUI JPanel投擲NPE

[英]GUI JPanel throwing NPE

因此,我正在為雀科編寫GUI,而我剛剛開始進行設置。 它還沒有功能,因為我還沒有編寫,但是我想知道為什么它沒有顯示拋出異常。

   package Code;

import java.awt.*;
import java.awt.event.*;
import java.text.DecimalFormat;
import javax.swing.*;

/**
 *
 * @author
 */
public class LabAssign6 extends JFrame {

    private JPanel contents, row1, row2, row3, row4;
    private JLabel redLabel, greenLabel, blueLabel;
    private JTextField rValue, gValue, bValue;
    private JButton enter, clear;

    public LabAssign6() {
        super("Finch GUI");
        contents = new JPanel();
        contents.setLayout(new GridLayout(3, 1, 5, 5));
        row1 = new JPanel();
        row2 = new JPanel();
        row3 = new JPanel();

        redLabel = new JLabel("Red Value 0-255:");
        redLabel.setForeground(Color.RED);
        rValue = new JTextField(10);
        row1.add(redLabel);
        row1.add(rValue);
        greenLabel = new JLabel("Green Value 0-255:");
        greenLabel.setForeground(Color.GREEN);
        gValue = new JTextField(10);
        row2.add(greenLabel);
        row2.add(gValue);
        blueLabel = new JLabel("Blue Value 0-255:");
        blueLabel.setForeground(Color.BLUE);
        bValue = new JTextField(10);
        row3.add(blueLabel);
        row3.add(bValue);

        enter = new JButton("Enter");
        clear = new JButton("Clear");
        row4.add(enter);
        row4.add(clear);

        contents.add(row1);
        contents.add(row2);
        contents.add(row3);
        contents.add(row4);
        add(contents);

        setSize(335, 225);
        setVisible(true);
        this.setLocation(600, 400);
        this.setResizable(false);
    }

    public static void main(String[] args) {
        LabAssign6 finch = new LabAssign6();
        finch.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

}

產量

  run:
Exception in thread "main" java.lang.NullPointerException
    at Code.LabAssign6.<init>(LabAssign6.java:45)
    at Code.LabAssign6.main(LabAssign6.java:61)
Java Result: 1
BUILD SUCCESSFUL (total time: 2 seconds)
   row4.add(enter);

您尚未初始化row4 您應該在初始化其他行的地方對其進行初始化

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM