Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Siamo tornati nel parco tecnologico di Trieste per il kick-off del programma che mette a disposizione di cinque startup le infrastrutture di ricerca, dal sincrotrone Elettra ai laboratori di genomica e HPC. Roberto Pillon racconta il modello e la visione
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo
HP OMEN MAX 16-ak0001nl combina RTX 5080 Laptop e Ryzen AI 9 HX 375 in un desktop replacement potente e ben raffreddato, con display 240 Hz e dotazione completa. Autonomia limitata e calibrazione non perfetta frenano l'entusiasmo, ma a 2.609 euro è tra le proposte più interessanti della categoria.
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Google ha appena rinnovato la sua celebre serie A con il Pixel 10a, lo smartphone della serie più conveniente se consideriamo il rapporto tra costo e prestazioni. Con il chip Tensor G4, un design raffinato soprattutto sul retro e l'integrazione profonda di Gemini, il colosso di Mountain View promette un'esperienza premium a un prezzo accessibile. E il retro non ha nessuno scalino
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-07-2009, 17:33   #1
Cory
Member
 
L'Avatar di Cory
 
Iscritto dal: Jan 2009
Città: Trento
Messaggi: 81
[JAVA] Problema KeyListener

Sto facendo un programma che, disegnato un pallino al centro di un pannello, lo sposti di 10 pixel alla pressione di 'a', 's', 'w' e 'z'. Tuttavia nella classe che implementa il Key Listener non so bene che scrivere..ecco come l'ho fatta per ora.

Codice:
package ex3;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class Pane extends JPanel{

    Dimension paneSize=this.getSize();
    int x=400/2-25/2;
    int y=300/2-25/2;

    protected void paintComponent(Graphics g){

        g.setColor(Color.RED);
        g.fillOval(x, y, 25, 25);

    }

    public Pane(){

        this.setFocusable(true);
        this.addKeyListener(new Move());

    }

    class Move implements KeyListener{

        public void keyTyped(KeyEvent e) {}
        public void keyPressed(KeyEvent e) {

        if(e.getKeyChar()=='a'){

            x=x+10;
            repaint();
          }
        }
        public void keyReleased(KeyEvent e) {}
    }

}
mi sono stampato il tutotial della Sun sui KeyListener ma non mi ha dato nessuna info..
Cory è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2009, 18:13   #2
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Usa e.getKeyCode() == KeyEvent.VK_A. Potrebbe essere necessario un click del mouse sul pannello prima che questo inizi a reagire agli eventi da tastiera per via del focus. Comunque il codice è ok.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2009, 10:21   #3
malocchio
Senior Member
 
L'Avatar di malocchio
 
Iscritto dal: Feb 2007
Città: Verona
Messaggi: 1060
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
Usa e.getKeyCode() == KeyEvent.VK_A. Potrebbe essere necessario un click del mouse sul pannello prima che questo inizi a reagire agli eventi da tastiera per via del focus. Comunque il codice è ok.
Per evitare il problema del focus, una soluzione postata da Banryu tempo fa, che ritornò utile anche a me:
http://www.hwupgrade.it/forum/showpo...50&postcount=3
__________________
malocchio è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2009, 10:31   #4
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Credo che per il focus basti prima richiederlo invocando requestFocusInWindow sul componente.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2009, 11:58   #5
Cory
Member
 
L'Avatar di Cory
 
Iscritto dal: Jan 2009
Città: Trento
Messaggi: 81
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Credo che per il focus basti prima richiederlo invocando requestFocusInWindow sul componente.
sì, infatti ho implementato un mouselistener che invocasse proprio il metodo requestFocusInWindow e funziona tutto a meraviglia
Cory è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2009, 12:20   #6
malocchio
Senior Member
 
L'Avatar di malocchio
 
Iscritto dal: Feb 2007
Città: Verona
Messaggi: 1060
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Credo che per il focus basti prima richiederlo invocando requestFocusInWindow sul componente.
Mi devo documentare allora...
__________________
malocchio è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Deep Tech Revolution: così Area Science Park apre i laboratori alle startup Deep Tech Revolution: così Area Science P...
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo HP OMEN MAX 16 con RTX 5080: potenza da desktop ...
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026 6G, da rete che trasporta dati a rete intelligen...
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso CHUWI CoreBook Air alla prova: design premium, b...
Crollo del mercato PC nel 2026: secondo ...
Come dimostrare che gli agenti di IA fan...
Galaxy AI potrebbe creare app funzionant...
Luce solare anche di notte con i satelli...
The Witcher 4 con ambientazioni da urlo ...
007 First Light e Control Resonant avran...
DLSS 4.5 con Dynamic Multi Frame Generat...
Meta acquisisce Moltbook, il social netw...
Red Hat al MWC 2026: attenzione all'IA n...
Amazon espande 'Paga in Contanti': ora d...
Samsung Galaxy S26 Ultra, promosso ma se...
Gemini sempre più integrato in Go...
NVIDIA investe in Thinking Machines Lab:...
NVIDIA prepara NemoClaw, piattaforma ope...
Samsung testa una batteria da 20.000 mAh...
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: 21:21.


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