我要做的是在 2x2 网格内容面板的第一行中添加两个 X x 2 网格面板,将内容面板的底行留空。
要填充第一行的单元格,我想使用一个函数,该函数使用循环生成文本字段和滑块。调用它的输入的文本字段来自textList[n]
.
因此,这分为两个主要问题。
如果我有一个功能:
public static void makeTop(String textName) {
JTextField textBox = new JTextField(textName);
textBox.setPreferredSize(new Dimension(100,50));
textBox.setHorizontalAlignment(JTextField.CENTER);
textBox.setEditable(false);
SpinnerNumberModel numSpinner = new SpinnerNumberModel(10,0,100,1);
JSpinner spinner = new JSpinner(numSpinner);
spinner.setPreferredSize(new Dimension(100,50));
}
还有一个带面板的框架:
public static void main(String[] args) {
JFrame frame = new JFrame("Frame");
frame.getContentPane().setLayout(new FlowLayout());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel cPane = new JPanel((new GridLayout(2,2)));
frame.add(cPane, BorderLayout.CENTER);
frame.setLocationRelativeTo(null);
frame.pack();
frame.setVisible(true);
}
如何将创建的文本字段和微调器添加makeTop
到cPane
?
cPane.add()
不喜欢函数调用,并且cPane
在尝试将内容添加到makeTop()
.
其次,假设makeTop
调用如下,具有N
任意性并textList[]
填充了字符串:
for(i=N;i>0;i--){
makeTop(textList[i]);
}
以这种方式创建文本字段和滑块时,如何使它们成为唯一的实例?