Java Can';t在swing中创建菜单,什么';怎么了?

Java Can';t在swing中创建菜单,什么';怎么了?,java,swing,Java,Swing,我的时间很少,所以我会简明扼要 import java.awt.*; import javax.swing.*; public class GameMenu { public static void addComponentsToPane(Container cone){ JPanel panelA = new JPanel(); cone.add(panelA); panelA.setLayout(new BoxLayout(800, 800)); J

我的时间很少,所以我会简明扼要

import java.awt.*;
import javax.swing.*;

  public class GameMenu {
    public static void addComponentsToPane(Container cone){     
  JPanel panelA = new JPanel();
  cone.add(panelA);

  panelA.setLayout(new BoxLayout(800, 800));
  JButton b1 = new JButton("one");
  JButton b2 = new JButton("two");
  JButton b3 = new JButton("three");  
  JButton b4 = new JButton("four");
  JButton b5 = new JButton("five");
  JButton b6 = new JButton("six");
  JButton b7 = new JButton("seven");
  JButton b8 = new JButton("eight");
  JButton b9 = new JButton("nine");  

  public GameMenu(){

panelA.setLayout(null);
panelA.setBounds(800, 800);
b1.setBounds(50, 200);
b2.setBounds(350, 200);
b3.setBounds(650, 200);
b4.setBounds(50, 400);
b5.setBounds(350, 400);
b6.setBounds(650, 400);
b7.setBounds(50, 600);
b8.setBounds(350, 600);
b9.setBounds(650, 600);

}

public static void main(String[] args) {
  javax.swing.SwingUtilities.invokeLater(new Runnable() {
    public void run() {
      createAndShowGUI();

        }

构造函数javax.swing.BoxLayout未定义,无法解析整个public GameMenu()。是否帮助修复此问题?

您不能“全局”设置JPanel的布局;必须在构造函数中执行此操作


另外,我不知道为什么要更改两次布局类型(首先是BoxLayout,然后是Null layout)。

您没有将按钮添加到JPanel。在面板中添加按钮如下:

panelA.add(b1);
panelA.add(b2);
// and so on

“我的时间很少,所以我将..”。。在将来使用更好的时间管理技能,这样我就不需要让别人为我的繁忙日程感到厌烦了?你可以使用Flow Layout而不是null,并且不要在一个类中使用两个布局。@Programmer“不要在一个类中使用两个布局。”虽然在一个容器中设置两个布局没有意义,但在一个类中使用多个布局(在多个容器中)是非常典型的。