Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Xiaomi ha portato sul mercato internazionale la nuova serie Redmi Note, che rappresenta spesso una delle migliori scelte per chi non vuole spendere molto. Il modello 15 Pro+ punta tutto su una batteria capiente e su un ampio display luminoso, sacrificando qualcosa in termini di potenza bruta e velocità di ricarica
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR ha finalmente lanciato il suo nuovo flagship: Magic 8 Pro. Lo abbiamo provato a fondo in queste settimane e ve lo raccontiamo nella nostra recensione completa. HONOR rimane fedele alle linee della versione precedente, aggiungendo però un nuovo tasto dedicato all'AI. Ma è al suo interno che c'è la vera rivoluzione grazie al nuovo Snapdragon 8 Elite Gen 5 e alla nuova MagicOS 10
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Le webcam Insta360 Link 2 Pro e Link 2C Pro sono una proposta di fascia alta per chi cerca qualità 4K e tracciamento automatico del soggetto senza ricorrere a configurazioni complesse. Entrambi i modelli condividono sensore, ottiche e funzionalità audio avanzate, differenziandosi per il sistema di tracciamento: gimbal a due assi sul modello Link 2 Pro, soluzione digitale sul 2C Pro
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-02-2011, 18:10   #1
domenico88
Senior Member
 
L'Avatar di domenico88
 
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!
domenico88 è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2011, 20:31   #2
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
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);
        */
    }
}
Usi "listener" per tutti i pulsanti e sei a posto.

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".
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2011, 23:52   #3
domenico88
Senior Member
 
L'Avatar di domenico88
 
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);
}
e aggianciato ai pulsanti in questo modo nel costruttore della classe principale

Codice:
for(int i=0; i<qwerty.length; i++){
		qwerty[i] = new JButton();
		qwerty[i].addActionListener(new QwertyListener(i));
}
bah però non ho capito come fa 'getActionCommand()' a sapere quale pulsante ho premuto
domenico88 è offline   Rispondi citando il messaggio o parte di esso
Old 05-02-2011, 00:07   #4
Shinnok.Exor
Senior Member
 
L'Avatar di Shinnok.Exor
 
Iscritto dal: Jan 2008
Messaggi: 1056
Quote:
Originariamente inviato da domenico88 Guarda i messaggi
bah però non ho capito come fa 'getActionCommand()' a sapere quale pulsante ho premuto
E a cosa ti serve sapere quale pulsante hai premuto ?

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.
__________________
Apps Freeware made by me
Shinnok.Exor è offline   Rispondi citando il messaggio o parte di esso
Old 05-02-2011, 00:17   #5
domenico88
Senior Member
 
L'Avatar di domenico88
 
Iscritto dal: Dec 2009
Messaggi: 1056
e lo so hai perfettamenta ragione solo che i prof all'uni so rompi....ecc ecc

possono chiedere queste cose...cioè cosa accade quando premiamo su un bottone...è stato chiesto a questo esame...io devo ancora scoprirlo però
domenico88 è offline   Rispondi citando il messaggio o parte di esso
Old 05-02-2011, 00:25   #6
Shinnok.Exor
Senior Member
 
L'Avatar di Shinnok.Exor
 
Iscritto dal: Jan 2008
Messaggi: 1056
Quote:
Originariamente inviato da domenico88 Guarda i messaggi
e lo so hai perfettamenta ragione solo che i prof all'uni so rompi....ecc ecc

possono chiedere queste cose...cioè cosa accade quando premiamo su un bottone...è stato chiesto a questo esame...io devo ancora scoprirlo però
Semplicemente il pulsante richiama il metodo actionPerformed passandogli l'oggetto che ha generato l'azione.

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
__________________
Apps Freeware made by me
Shinnok.Exor è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto Redmi Note 15 Pro+ 5G: autonomia monstre e displ...
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione HONOR Magic 8 Pro: ecco il primo TOP del 2026! L...
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata Insta360 Link 2 Pro e 2C Pro: le webcam 4K che t...
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza Motorola edge 70: lo smartphone ultrasottile che...
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026 Display, mini PC, periferiche e networking: le n...
La nave elettrica più grande mai ...
Spusu lancia il Wi-Fi Calling: come funz...
Questo robot impara a muovere le labbra ...
iPhone 17 annienta la concorrenza in Cin...
La nuova Xiaomi SU7 batte un record: 4.2...
È possibile copiare i qubit: dei ...
BYD alza ulteriormente l'asticella: batt...
Il nuovo razzo spaziale riutilizzabile c...
L'ex leader di Assassin's Creed porta Ub...
Il razzo spaziale NASA SLS e la capsula ...
Samsung Galaxy S26 Ultra: quattro colora...
AWS investe 1,2 miliardi in Italia. Coin...
La navicella cinese Shenzhou-20 con il f...
I piani Business ed Education di Google ...
Ceres-2 e Lunga Marcia 3B: la Cina falli...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 19:36.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v