Estoy escribiendo una aplicación Java con marcos móviles, y me encontré con un capricho en Linux. Estoy ejecutando GNOME 2.16.0 en CentOS.¿Cómo muevo un Java JFrame parcialmente fuera de mi escritorio de Linux?
Cuando uso JFrame.setBounds
para establecer los límites a cualquier ubicación que esté medio fuera de la pantalla, realmente establece la ubicación del marco lo más cerca posible de los límites especificados mientras permanece completamente en la pantalla.
¿Cómo le digo a Java que le diga a GNOME que ponga realmente el marco donde especifico, incluso si está medio fuera de la pantalla?
Aquí hay un código de muestra que demuestra el problema, suponiendo que -50, 50 está fuera de la pantalla. El marco aún se puede arrastrar fuera de la pantalla por la barra de título, pero las llamadas a setLocation
o setBounds
no funcionan.
Esto funciona bien en Windows.
JFrame frame = new JFrame(); frame.setPreferredSize(new Dimension(200, 200)); frame.pack(); frame.setVisible(true); frame.setLocation(-50, 50);
Ahh alegrías de la interfaz de usuario Java no se comporta lo mismo en todas las plataformas ... Diría que la respuesta probablemente no está de parte de Java, pero puedo estar equivocado (de ahí el comentario en lugar de responder) :) – Romain