有不同的選擇,但缺點是,您必須以某種方式將您的員工記錄綁定到JTextField。這樣做的一個方法是通過創建一個簡單的對象持有的關係:
public class EmployeeRecordToJTextfield {
private EmployeeRecord employeeRecord;
private JTextField jTextField;
public EmployeeRecordToJTextfield(EmployeeRecord employeeRecord, JTextField jTextField) {
this.employeeRecord = employeeRecord;
this.jTextField = jTextField;
}
public EmployeeRecord getEmployeeRecord() {
return employeeRecord;
}
public JTextField getJTextField() {
return jTextField;
}
}
取而代之的是EmployeeRecord
的,你堅持這個類的實例在列表中:
List<EmployeeRecordToJTextfield> list = new ArrayList<>();
list.add(new EmployeeRecordToJTextfield(employeeRecord, jTextField));
當你遍歷這個通過列表轉換爲地圖和地圖EmployeeRecords他們的JTextField
for (EmployeeRecordToJTextfield e : list) {
JTextField textField = e.getJTextField();
EmployeeRecord record = e.getEmployeeRecord();
textField.setText(record.getName());
}
另一種選擇,或許更簡單,就是:列表中,您可以將您選擇的數據。
更新基於問題的更新
我希望我現在明白你問什麼,但如果是這樣,我只是這樣做:
Store的「當前」指數在可變或隱藏的GUI字段中顯示項目。
private int currentIndex = 0; // Start with the first item.
當你想顯示下一個項目(可能通過下一個或上一個按鈕),獲取下一個值。補償清單長度:
int nextIndex = currentIndex+1;
if (nextIndex >= nameList.size()) nextIndex = 0;
if (nextIndex < 0) nextIndex = nameList.size()-1;
現在你可以使用nextIndex來從你的列表中選擇正確的條目:
nField.setText(nameList.get(nextIndex).getName());
bField.setText(nameList.get(nextIndex).getBirth());
jfield.setText(nameList.get(nextIndex).getID());
而且不要忘記更新CURRENTINDEX:
this.currentIndex = nextIndex;
HTTP ://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html – Holger
可以發表一些代碼嗎? –
[*在java中的GUI轉到上一個/下一個選項*](http://stackoverflow.com/q/20112159/230513)可能有重複。 – trashgod