Buonasera a tutti, con l'aiuto di internet ho scritto il seguente codice:

codice:
import org.jnativehook.GlobalScreen;
import org.jnativehook.NativeHookException;
import org.jnativehook.keyboard.NativeKeyEvent;
import org.jnativehook.keyboard.NativeKeyListener;

public class Main implements NativeKeyListener{ 

    static char b =' ';
    
    @Override
    public void nativeKeyPressed(NativeKeyEvent e) {
        char a=' ';    
        a=(char) e.getKeyCode();
        System.out.println("press "+a);
    b=a;    
    }

    @Override
    public void nativeKeyReleased(NativeKeyEvent e) {

    }

    @Override
    public void nativeKeyTyped(NativeKeyEvent e) {
    } 


    public static void main(String[] args)  {
        
        try{

            GlobalScreen.registerNativeHook();

        } catch (NativeHookException e){
            e.printStackTrace();

        }
        
        GlobalScreen.getInstance().addNativeKeyListener(new Main());    
        // aspetto i caratteri digitati da elaborare
    }
}
Il mio problema è che vorrei ricevere nel metodo main i caratteri digitati per poterli elaborare ma l'unico modo è stato
codice:
  System.out.println("press "+a);
che si trova dentro
codice:
public void nativeKeyPressed(NativeKeyEvent e) {
non vorrei scrivere tutto il programma dentro questo metodo nativeKeyPressed
ringrazio chiunque mi risponda