JButton doivent modifier 8 JTextFields à l'aide d'un tableau. Écoutez boutons ou texte?
-
21-09-2019 - |
Question
Ceci est devoirs, et cette question Prolonge celui-ci
Donc, il y a un bouton pour First
, Prev
, Next
et Last
Chacun doit modifier
Item ID, Name, Rating, Price, Units, Value, Fee, ValueW/Fee, Total Inventory Value
Le dernier est un total de toutes les unités statiques.
Je ne sais pas si je devrais faire de chaque bouton faire plusieurs appels comme celui-ci.
productName.setText( product.getProductName() );
itemNumber.setText( String.valueOf( product.getItemNumber() ) );
Ou faire chaque JTextArea écouter le bouton puis changer son champ. Est-ce que même travail?
La solution
Inscrivez-vous un ActionListener pour chaque bouton. Dans le corps de la méthode actionPerformed de cette ActionListener, obtenir l'élément pour afficher et passer à une méthode qui sera responsable de la définition des valeurs des champs de texte.
Quelque chose comme:
JButton button = new JButton("Next");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
DVDObject obj = getNextDVD();
populateFields(obj);
}
});
...
private DVDObject getNextDVD() {
// gets the next object to display
// you could call this method for each of the buttons,
// passing in an argument that determines which Object
// to return (first, last, next, previous, whatever)
}
private void populateFields(DVDObject dvd) {
// write out the values from the object passed in to the
// fields
}
Je suppose que vous avez une sorte de collection d'objets qui contiennent toutes les informations sur les DVD, j'ai pris un coup de poignard dans le noir et l'a appelé « DVDObject » ici.