Java 多次使用Box变量

Java 多次使用Box变量,java,swing,Java,Swing,我正在做一个作业,我必须创建三行三个框,每个框中有一个1-9的数字。由于某些原因,此代码不起作用,它只打印一行,中间有一个1: import javax.swing.*; import java.awt.*; public class PracticeTwo extends JPanel { private JFrame mainFrame = new JFrame(""); private Box bigBox = Box.createVerticalBox(); privat

我正在做一个作业,我必须创建三行三个框,每个框中有一个1-9的数字。由于某些原因,此代码不起作用,它只打印一行,中间有一个1:

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

public class PracticeTwo extends JPanel {

  private JFrame mainFrame = new JFrame("");
  private Box bigBox = Box.createVerticalBox();
  private Box smallBox = Box.createHorizontalBox();
  private Box numBox = Box.createVerticalBox();

  public void makeGui () {

    mainFrame.add(bigBox);
    bigBox.setAlignmentX(Component.LEFT_ALIGNMENT);

    while (num < 10) {

    bigBox.add(smallBox);
    smallBox.add(numBox);
    numBox.add(numIncrement);
    smallBox.add(numBox);
    numBox.add(numIncrement);
    smallBox.add(numBox);
    numBox.add(numIncrement);
    num++;
    }

    mainFrame.setVisible(true);
    mainFrame.pack();
  }
}

我想我的问题是:我可以多次使用同一个Box变量来简化这个GUI的创建,还是每次创建同一种Box时都必须创建不同的变量?

因为Box只是另一个JComponent,所以必须为组件层次结构中的每个位置创建一个单独的变量。换句话说,不能像不能重用一个JTextField一样重用一个框。

由于框只是另一个JComponent,因此必须为组件层次结构中的每个位置创建一个单独的框。换句话说,不能像不能重用一个JTextField一样重用一个框。

变量用于保存对对象实例的引用,以便以后需要时可以访问这些实例。使用变量并不是将这些引用放在手边的唯一方法。另一种方法是通过数据结构。数据结构的一些示例有:数组、树、列表、表等。我想在课程的这一点上,您可能还没有学会如何使用数据结构,因此现在必须定义多个变量就可以了。在实际代码中,您不会这样做。

变量用于保存对对象实例的引用,以便以后需要时可以访问这些实例。使用变量并不是将这些引用放在手边的唯一方法。另一种方法是通过数据结构。数据结构的一些示例有:数组、树、列表、表等。我想在课程的这一点上,您可能还没有学会如何使用数据结构,因此现在必须定义多个变量就可以了。在实际代码中,您不会这样做。

谢谢您的帮助!这使得这个布局冗长乏味如果使用工厂方法,则不会。编辑:在你的情况下,这太过分了。谢谢你的帮助!这使得这个布局冗长乏味如果使用工厂方法,则不会。编辑:在你的情况下,这是一种过分的做法。什么是numIncrement?您还没有定义它,它是否来自某个导入?抱歉,我确实有它,我没有写进去,因为我在复制我的注释掉的代码尝试。numIncrement是什么?您还没有定义它,它是否来自其中一个导入?抱歉,我确实有它,我没有将它写入,因为我正在复制我注释掉的代码尝试。