我正在尝试声明一个带有变量名称的JTextField
对于固定的JTextField,我只需在我的公共类之后将其声明为
private JTextField HH1;
但是我使用可变文本字段尝试在
中创建它们int count = 1
HH + count++ = new JTextField(10);
这是我的私人课程
private void createGUI() {
setDefaultCloseOperation(EXIT_ON_CLOSE);
Container window = getContentPane();
window.setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
GridBagConstraints gbc1 = new GridBagConstraints();
gbc.fill = GridBagConstraints.BOTH;
gbc.insets = new Insets(5, 50, 5, 0);
gbc1.insets = new Insets(5, -100, 5, 10);
int count = 1;
for(int y = 0; y < 10; y++) {
gbc.gridy = y;
gbc1.gridy = y;
for(int x = 0; x < 1; x++) {
gbc.gridx = x;
gbc1.gridx = x;
vol1HH + count++ = new JTextField(10);
HH1 = new JLabel("HH1");
window.add(HH1 + count++, gbc1);
window.add(vol1HH + count++, gbc);
}
如何创建名为HH1到HH10的变量JTextField?
下面的答案
private JTextField vol1HH[] = new JTextField [10];
private void createGUI() {
setDefaultCloseOperation(EXIT_ON_CLOSE);
Container window = getContentPane();
window.setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
GridBagConstraints gbc1 = new GridBagConstraints();
gbc.fill = GridBagConstraints.BOTH;
gbc.insets = new Insets(5, 50, 5, 0);
gbc1.insets = new Insets(5, -100, 5, 10);
//int count = 1;
for(int y = 0; y < 10; y++) {
gbc.gridy = y;
gbc1.gridy = y;
for(int x = 0; x < 1; x++) {
gbc.gridx = x;
gbc1.gridx = x;
vol1HH[y] = new JTextField(10);
window.add(vol1HH[y], gbc);
}
答案 0 :(得分:0)
在您的代码中,您实际上并未遵循规则来声明变量。
变量名称不能包含+
,变量的名称也不能是动态的。
如果您知道需要多少JTextField
,那么在您的情况下,最佳方法是使用JTextField
数组。
private JTextField HH[] = new JTextField[10];
int count = 0
HH[count++] = new JTextField(10);
如果你不知道你需要多少JTextField
,那么使用任何List
将是一个好主意。
private ArrayList<JTextField> HH = new ArrayList<>();
int count = 0;
HH.add(new JTextField(10));