Test[] array = new Test[3];
array[0] = new RowBoat("Wood", "Oars", 10);
array[1] = new PowerBoat("Fiberglass", "Outboard", 35);
array[2] = new SailBoat("Composite", "Sail", 40);
我有上面的数组,我需要将结果显示到一个swing GUI,下一个按钮将显示第一个索引值,当单击下一个按钮时,它将显示下一个索引值,依此类推。 / p>
for (int i=0;; i++) {
boatMaterialTextField.setText(array[i].getBoatMaterial());
boatPropulsionField.setText(array[i].getBoatPropulstion());
}
我有上面的代码工作,当然它显示数组中的最后一项。
我的问题是:如何在数组中显示第一个索引,当用户单击下一个时显示数组中的下一个项目,以及单击后退按钮时转到上一个索引?
简单地说,我需要在单击按钮时浏览每个索引。
答案 0 :(得分:1)
您不需要循环。首次加载框架时,您只需显示数组中的第一个项目即可。然后,您可以创建下一个按钮。
JButton nextBtn;
int currentIndex;
...
currentIndex = 0;
//display the first item in the array.
boatMaterialTextField.setText(array[currentIndex].getBoatMaterial());
boatPropulsionField.setText(array[currentIndex].getBoatPropulstion());
nextBtn = new JButton("Next>>");
nextBtn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
if(currentIndex < array.length){
boatMaterialTextField.setText(array[++currentIndex].getBoatMaterial());
boatPropulsionField.setText(array[currentIndex].getBoatPropulstion());
}
}
});
您可以为之前添加另一个按钮,每次只是递减currentIndex,确保检查它永远不会变为负数。