如何在没有红色文本的情况下修复此错误



现在我正在制作一个GUI,我得到了这个错误代码

Exception in thread "main" java.awt.IllegalComponentStateException: contentPane cannot be set to null.
at java.desktop/javax.swing.JRootPane.setContentPane(JRootPane.java:594)
at java.desktop/javax.swing.JFrame.setContentPane(JFrame.java:679)
at GUI.main(GUI.java:13)

这是我的基本代码

import javax.swing.*;
import java.awt.*;
public class GUI {
private Container mainPanel;
public static void main(String[] args) {
JFrame frame = new JFrame("Loot and Scoot");
frame.setContentPane(new GUI().mainPanel);
frame.setPreferredSize(new Dimension(1280,700));
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
}
}

我试着用Alt+Enter解决这个问题,但没有什么问题——没有红色文本

您只需要添加一个

mainPanel = new JPanel

我已经正确地编辑了我的代码,所以它现在可以工作了,这里是

import javax.swing.*;
import java.awt.*;
public class GUI {
private static Container mainPanel;
public static void main(String[] args) {
mainPanel = new JPanel();
JFrame frame = new JFrame("Loot and Scoot");
frame.setContentPane(new GUI().mainPanel);
frame.setPreferredSize(new Dimension(1280,700));
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
}
}
import javax.swing.*;
import java.awt.*;
public class GUI extends JPanel{

public static void main(String[] args) {
mainPanel = new JPanel();
JFrame frame = new JFrame("Loot and Scoot");
frame.setContentPane(new GUI());
frame.setPreferredSize(new Dimension(1280,700));
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
}
}

相关内容

最新更新