我在sinputAT
和sinputBT
中循环输入文本字段>
for(int i=1; i<=inputClass.getProcessValue(); i++){ add(sinputProcess = new JLabel("P"+i)); add(sinputAT = new JTextField()); add(sinputBT = new JTextField()); } setLayout(new GridLayout(0, 3)); add(sinputButton); sinputButton.addActionListener(this); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }
当我使用get和set方法时,它只会显示我输入的最后一个数字。
public void actionPerformed(ActionEvent e){
if (e.getSource() == sinputButton){
int arrtime = Integer.parseInt(sinputAT.getText());
sinputAT.selectAll();
setArrTime(arrtime);
int brstime = Integer.parseInt(sinputBT.getText());
sinputBT.selectAll();
setBrsTime(brstime);
dispose();
FCFS fcfs = new FCFS();
fcfs.setVisible(true);
fcfs.setSize(500,500);
}
}
我在此处循环文本字段sinputAT和sinputBT for(int i = 1; i <= inputClass.getProcessValue(); i ++){add(sinputProcess = new JLabel(“ P” + i)); add(sinputAT = new JTextField()); ...
这是因为您正在用sinputAT = new JTextField()
更改参考,所以sinputAT
的最后一个值是最后一个new JTextField()
。如果要在面板中添加多个文本字段,建议您使用数组: