Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    4

    KeyListener non funziona

    Ecco un semplicissimo programmino:

    import java.awt.Container;
    import java.awt.Component;
    import javax.swing.JFrame;
    import javax.swing.JButton;
    import javax.swing.JLabel;
    import java.awt.event.KeyEvent;
    import java.awt.event.KeyAdapter;
    import java.awt.FlowLayout;

    public class Main {
    public static void main(String[] args){
    JFrame f = new JFrame();
    f.setSize(300,300);
    f.setDefaultCloseOperation(JFrame.EXIT…
    f.setVisible(true);
    Container contentPane = f.getContentPane();
    contentPane.setLayout(new FlowLayout());
    final JLabel label = new JLabel();
    label.addKeyListener(new KeyAdapter(){public void keyTyped(KeyEvent e){if (e.getKeyCode() == KeyEvent.VK_ENTER) label.setText("premuto");} });
    }
    }

    Perchè non funziona??? cioè ho provato anche senza specificare il tasto (quindi cn tt i tasti) ma niente. Ho cliccato anche sul label prima di premere. Forse non ho capito bene come funziona, ma con MouseListener è tt diverso.
    Mi basterebbe anche un esempio per capire.

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    potrebbe essere un problema legato al focus. di default una label non è focusable e gli eventi del keylistener vengono ignorati.
    Metti il focus a true e riprova
    Altrimenti cambia tecnica (se proprio vuoi un keylistener sulla label anche se non so quanto senso abbia)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    4
    Non so cos'è il focus. Cmq ti ho fatto l'esempio con la label per farti vedere come uso il keylistener, ma esso non funziona con nessun componente, nè con bottoni nè con altri. Se io al JLabel aggiungo un mouselistener funziona, ma il keylistener no.

    Uso netbeans in ubuntu. Non credo sia il Sistema Operativo!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.