对数组进行分页

问题描述 投票:0回答:1
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,该按钮将显示第一个索引值,当单击下一个按钮时,它将显示下一个索引值,依此类推。

for (int i=0;; i++) {
    boatMaterialTextField.setText(array[i].getBoatMaterial());
    boatPropulsionField.setText(array[i].getBoatPropulstion());
}

我可以使用上面的代码,当然它会显示数组中的最后一项。

如何显示数组中的第一个索引,以及当用户单击“下一步”时如何显示数组中的下一个项目,以及如何在单击“后退”按钮时转到上一个索引?

简单地说,当单击按钮时我需要翻阅每个索引。

java arrays swing pagination paging
1个回答
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());     
       }
    }
 });

您可以为 previous 添加另一个按钮,每次都会简单地减少 currentIndex,确保检查它永远不会变为负值。

© www.soinside.com 2019 - 2024. All rights reserved.