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);
I have the above array and I need to display the results to a Swing GUI with a next button that will display the first index values, and when the next button is clicked it will display the next index values and so on.
for (int i=0;; i++) {
boatMaterialTextField.setText(array[i].getBoatMaterial());
boatPropulsionField.setText(array[i].getBoatPropulstion());
}
I have the above code working, and of course it displays the last item in the array.
How would I display the first index in the array and when the user clicks next display the next item in the array as well as go to the previous index when a back button is clicked?
Simply put, I need to page through each index when a button is clicked.
You do not need a loop. When the frame first loads you can simply display the first item in the array. You can then create a next button.
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());
}
}
});
You can add another button for previous that simply decrements the currentIndex each time ensuring to check that it never becomes negative.