我正在进行一项任务,我必须创建三行三个盒子,每个盒子里面都有一个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,或者每次制作相同类型的盒子时是否必须创建不同的变量?
答案 0 :(得分:2)
由于Box
只是另一个JComponent
,因此必须为组件层次结构中的每个位置创建一个单独的Box
。换句话说,您无法重复使用JTextField
,就像您无法重复使用{{1}}一样。
答案 1 :(得分:2)
变量用于保存对对象实例的引用,以便您可以在以后需要时访问这些实例。使用变量并不是保持这些引用的唯一方法。另一种方式是通过数据结构。数据结构的一些例子是:数组,树,列表,表等。我想在你的课程中你可能还没有学过如何使用数据结构,所以现在必须定义多个变量。在实际代码中,你不会这样做。