Java GUI 显示空白

Java GUI shows up blank

所以我试图在 Java 中创建我的第一个 GUI,但它是空白的。据我所知,我所做的一切都是正确的,但当然因为它只是空白,所以我显然做错了什么。 我有一个 mainclass 和一个 class 用于 JFrame 及其所有内容。 我没有收到任何错误,除了 public class MainFrame 给我 "The serializable class MainFrame does not declare a static final serialVersionUID field of type long".

package main;

import javax.swing.JFrame;
import javax.swing.SwingUtilities;

import gui.MainFrame;

public class Main {

public static void main(String[] args) {

     SwingUtilities.invokeLater(new Runnable() {

         public void run() 
             MainFrame frame = new MainFrame();

             frame.setTitle("GUI");

             frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

             frame.setSize(800, 400);

             frame.setVisible(true);

        }
     });
 }

}

.

package gui;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class MainFrame extends JFrame {

 private JButton button;
 private Container cont;

 public MainFrame(){
     Container cont = new Container();

     setLayout(new BorderLayout());

     JPanel panel = new JPanel();
     panel.setLayout(new BorderLayout());

     JButton button = new JButton("Change Color");

     panel.add(button, BorderLayout.CENTER);

     cont.add(panel, BorderLayout.CENTER);

     cont.setBackground(Color.GREEN);

     button.addActionListener(new ActionListener() {

         public void actionPerformed(ActionEvent e) {
             cont.setBackground(Color.CYAN);

         }
     });

 }
}

您没有将 Container cont 添加到框架中。

忘记将组件添加到框架:

panel.add(cont);