|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Dec 2009
Messaggi: 1056
|
[JAVA]Problema Interfaccia grafica
ciao a tutti, ho fatto questa semplice interfaccia con java (a mano)
http://img690.imageshack.us/i/interfaccimes.jpg/ ora il mio problema è questo, quando voglio creare il listener dei tasti della qwerty come faccio a dare al listener il tasto desiderato e quindi visualizzarlo nell'area di testo? Altrimenti dovrei creare un listener per ogni tasto, ma non mi sembra una soluzione molto elegante...Help please! |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Basta un action listener per tutti. Se lo usi solo coi pulsanti sai che la sorgente dell'evento ActionEvent è un pulsante, puoi prendere il carattere dall'etichetta o usare il comando associato.
Codice:
ActionListener listener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
String lettera = e.getActionCommand();
jTextArea.append(lettera);
/* oppure
AbstractButton button = (AbstractButton) e.getSource();
String lettera = button.getText();
jTextArea.append(lettera);
*/
}
}
Il valore di "getActionCommand" è pari al valore del campo actionCommand (setActionCommand/getActionCommand) del pulsante che di norma è il testo del pulsante. Se: JButton b = new JButton("q"); allora b.getActionCommand vale "q" Se: JButton b = new JButton("q"); b.setActionCommand("pippo"); allora b.getActionCommand vale "pippo". |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Dec 2009
Messaggi: 1056
|
si grazie...
Del tipo Codice:
class QwertyListener implements ActionListener{
private int i;
public QwertyListener(int i){
this.i = i;
}
public void actionPerformed(ActionEvent e) {
String c = e.getActionCommand();
AreaCaratteri.append(c);
}
Codice:
for(int i=0; i<qwerty.length; i++){
qwerty[i] = new JButton();
qwerty[i].addActionListener(new QwertyListener(i));
}
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Jan 2008
Messaggi: 1056
|
Quote:
A te serve un ActionListener che prenda il testo del button cliccato e lo appenda nel JTextBox, indifferentemente dal bottone premuto, lui fa queste azioni. |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Dec 2009
Messaggi: 1056
|
e lo so hai perfettamenta ragione
possono chiedere queste cose...cioè cosa accade quando premiamo su un bottone...è stato chiesto a questo esame...io devo ancora scoprirlo però |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Jan 2008
Messaggi: 1056
|
Quote:
Con questo codice qwerty[i].addActionListener(new QwertyListener(i)); semplicemente passi l'oggetto del quale il pulsante richiamerà il metodo actionPerformed(), di cui precedentemente ne hai fatto l'override |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:28.





















