JButtons devono modificare 8 JTextFields usando un array. Ascoltate pulsanti o di testo?
-
21-09-2019 - |
Domanda
Si tratta di compiti a casa, e questa domanda estende questo
Quindi, c'è un pulsante per First
, Prev
, Next
, e Last
Ogni dovrebbe modificare
Item ID, Name, Rating, Price, Units, Value, Fee, ValueW/Fee, Total Inventory Value
L'ultimo è un totale statica di tutte le unità.
Non sono sicuro se devo fare ogni pulsante fare più chiamate di questo tipo.
productName.setText( product.getProductName() );
itemNumber.setText( String.valueOf( product.getItemNumber() ) );
o fare ogni JTextArea ascolto per il pulsante quindi modificare il suo campo. Ritiene che anche il lavoro?
Soluzione
Pubblicare un ActionListener per ciascun pulsante. Nel corpo del metodo actionPerformed che di ActionListener, ottenere l'oggetto per visualizzare e passarlo a un metodo che sarà responsabile per l'impostazione dei valori per i campi di testo.
Qualcosa di simile:
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
}
Sto cercando di indovinare che hai una sorta di collezione di oggetti che contengono tutte le informazioni su DVD, ho preso una pugnalata al buio e lo ha chiamato "DVDObject" qui.