Java,数组分页

问题描述 投票: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 indexing 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.