java swing jframe jna

java - Transparente, click-through, siempre en la parte superior JFrame



swing jna (1)

probablemente necesites hacer un proceso de Java más que un jframe,
jframe no puede captar el trazo clave cuando no se enfoca, la única forma de que hagas tal cosa es darle el foco a tu jframe cada vez que lo pierdas, lo que significa que no es posible el uso de ninguna otra ventana abierta. Probablemente necesites cambiar el lenguaje.

Por lo tanto, actualmente tengo un JFrame transparente al que puede hacer clic, pero lo necesito para estar al tanto de todas las demás ventanas.

Digamos que tiene un navegador abierto, quiero que JFrame se mantenga al tanto, pero que pueda capturar las teclas y los clics del mouse.

Aquí está mi código actual.

public class TransparentWindow extends JFrame { private static URL URI; public TransparentWindow() { initComponents(); } @SuppressWarnings("unchecked") private void initComponents() { setExtendedState(Frame.MAXIMIZED_BOTH); setIconImage(Toolkit.getDefaultToolkit().getImage(URI)); setResizable(false); setUndecorated(true); setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); setAlwaysOnTop(true); System.setProperty("sun.java2d.noddraw", "true"); WindowUtils.setWindowTransparent(this, true); WindowUtils.setWindowAlpha(this, 0.6f); addKeyListener(new KeyListener() { @Override public void keyPressed(KeyEvent e) { } @Override public void keyReleased(KeyEvent e) { } @Override public void keyTyped(KeyEvent e) { } }); } public static void main(String[] args) { try { URI = new URL("http://i.imgur.com/xtZK0.png"); } catch (MalformedURLException e) { e.printStackTrace(); } new TransparentWindow().setVisible(true); } }