Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: [java] codice ASCII

  1. #1

    [java] codice ASCII

    Salve a tutti...
    Con l'interfaccia KeyListener riesco a recuperare l'ultimo carattere digitato dall'utente...( metodo KeyTyped() )
    Ma se il carattere digitato fosse alt+m o ctrl+m come faccio a recuperarlo???
    Vi prego aiutatemi!
    E' URGENTISSIMO.....

    p.s. Come faccio a recuperare il codice ASCII di un carattere digitato?? Ho provato con Asc(variabile) ma non va...


    Damiano

  2. #2
    Il metodo getModifiers() ereditato da InputEvent ti restituisce un int con il tipo di modificatore premuto ( alt, shift, ctrl, ctrl+alt) e ci sono anche metodi tipo isAltDown(), isShiftDown() e similari per semplificarti il lavoro.

    Tutte le info su

    http://java.sun.com/j2se/1.4.1/docs/api/

    nel package java.awt.event sotto le classi KeyEvent e InputEvent.

    Ciau

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    315
    Per sapere se sono stati premuti tasti come ctrl o shift usa il metodo getKeyCode() di KeyEvent.
    Restituisce un intero che rappresenta il VK_ (tasto virtuale) digitato, e lo confronti con VK_CONTROL e VK_SHIFT.

    Se invece vuoi il codice ASCII usa il metodo getKeyChar()

    Sono andato a memoria, per cui ti conviene controllare sulla documentazione ufficiale quello che ho detto.
    Ciao,
    Lorenzo

  4. #4
    se l'utente preme alt+m con la funzione isAltDown() riesco a capire se è stato digitato Alt ma non ALt m...
    Come posso fare..
    vi prego aiutatemi..ho un compito alle 13:25..
    Vi prego

  5. #5
    Dovrebbe risultare che il tasto premuto é m e che isAltDown() restituisce true. In questo caso hai verificato la combinazione Alt+m. Provo a scrivere un programmino e ti dico, dammi 15 min.

  6. #6
    OK GRAZIE MILLE!!!
    Cmq ho provato con isAltDown() ma se io digito alt + m o alt + g non capisce la differenza...
    Sto provando a fare..
    if (e.isAltDown()) { // Vedo se il tasto è alt
    if (e.getKeyCode() == 87) { // e' dopo il tato alt e' stato premuta w
    System.out.println("E' STATO PREMUTO ALT + W");
    }
    }

    Comuque aspeto la tua versione :gren:

  7. #7
    provato e testato su jvm 1.4.0
    Se all'interno della finestra premi Alt+m lo scrive a prompt, per qualunque altro tasto non fa niente.

    codice:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    
    public class Prova extends JFrame implements KeyListener {
    	
    	public static void main(String[] args) {
    		new Prova();
    	}
    	
    	public Prova() {
    		super("Finestra di prova");
    		setDefaultCloseOperation(EXIT_ON_CLOSE);
    		setSize(300,300);
    		addKeyListener(this);
    		setVisible(true);
    	}
    	
    	public void keyPressed(KeyEvent ke) {}
    	
    	public void keyReleased(KeyEvent ke) {}
    	
    	public void keyTyped(KeyEvent ke) {
    		if ((ke.getKeyChar() == 'm') && (ke.isAltDown()))
    			System.out.println("ho beccato Alt+m");
    	}
    }

  8. #8
    PERFETTO!
    Su per giu come avevo pensato io..
    COMUNQUE SEI UN GRANDE...
    Mi hai salvato il compito in classe..
    A presto e buona giornata..

    Damiano

  9. #9
    Buon compito, a presto.

    p.s. : ma che cavolo di compito é se sai già cosa ci devi mettere?

  10. #10
    Non è che mi ha detto come farlo... Mi ha detto che si trattava di usare ALt e Ctrl ... e BASTA!
    Magari mi diceva tutto
    Cmq ti ringrazio ancora..
    A presto..
    Damiano

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.