所以我的代码有这个问题。每当我加载游戏时,屏幕中央都会出现一个红色方块,我还没有对其进行编程。我试图找到错误几个小时,但我就是看不到它。我认为这与面板或其他东西有关。第二件事是当我按下按钮绘制网格时,只出现了一条小线。它被编程为比实际大得多,而且它也不在正确的位置。以下是我的所有代码,非常感谢任何帮助!
package com.theDevCorner;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JPanel;
public class Game extends JPanel implements ActionListener {
   public static JButton grid = new JButton("Show Grid");
   public static JPanel drawArea = new JPanel();
   public static JMenuBar menu = new JMenuBar();
   public static JPanel notDrawn = new JPanel();
   public static boolean gridPressed = false;
   public Game() {
      grid.addActionListener(this);
   }
   public static void main(String args[]) {
      Game game = new Game();
      JFrame frame = new JFrame();
      frame.setVisible(true);
      frame.setSize(new Dimension(
            Toolkit.getDefaultToolkit().getScreenSize().width, Toolkit
                  .getDefaultToolkit().getScreenSize().height));
      frame.setTitle("Game");
      frame.setAlwaysOnTop(true);
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setResizable(false);
      menu.setSize(new Dimension(1600, 20));
      menu.setLocation(0, 0);
      notDrawn.setBackground(new Color(255, 0, 50));
      notDrawn.setSize(100, 900);
      notDrawn.add(grid);
      notDrawn.setLayout(null);
      grid.setSize(new Dimension(100, 25));
      grid.setLocation(0, 25);
      drawArea.setSize(new Dimension((Toolkit.getDefaultToolkit()
            .getScreenSize().width), Toolkit.getDefaultToolkit()
            .getScreenSize().height));
      drawArea.setLocation(100, 0);
      drawArea.setBackground(Color.black);
      drawArea.add(menu);
      drawArea.add(game);
      frame.add(drawArea);
      frame.add(notDrawn);
   }
   public void paint(Graphics g) {
      Game game = new Game();
      if (gridPressed) {
         Game.drawGrid(0, 0, g);
      }
      g.dispose();
      repaint();
   }
   public static void drawGrid(int x, int y, Graphics g) {
      g.setColor(Color.white);
      g.drawLine(x, y, 50, 300);
   }
   @Override
   public void actionPerformed(ActionEvent e) {
      if (e.getSource() == grid && gridPressed == true) {
         gridPressed = false;
         System.out.println("Unpressed");
      }
      if (e.getSource() == grid) {
         gridPressed = true;
         System.out.println("Pressed");
      }
   }
}
    