manager java swing jframe resolution layout-manager

manager - Java: ¿resolución JFrame?



java swing layout manager (3)

Hice un programa usando varios JFrames en una Mac, y la resolución estaba bien, todo encajaba correctamente en la pantalla. Pero cuando ejecuto el programa en mi PC, los JFrames son demasiado grandes y salen directamente de la pantalla.

Mi pregunta es: ¿es posible establecer la resolución universal en un JFrame para que todos los componentes se dibujen un poco más pequeños? Prefiero hacer eso, pasar por todo el programa y cambiar el tamaño de cada componente de forma manual.


Por lo que sé, no puedes cambiar la resolución de los componentes Swing. Pero puede obtener el tamaño de pantalla actual del sistema ( aquí hay un ejemplo). Con este tamaño de pantalla puede ajustar sus componentes.

Si está codificando su GUI sabiamente, no tendría que cambiar el tamaño de todos sus componentes de su GUI manualmente. En cambio, un JPanel de nivel superior (o JFrame o lo que sea) ajustará su tamaño debido a sus componentes contenidos (por ejemplo, con algo como pack ()). Entonces solo unos pocos componentes tendrán un tamaño codificado. Este tamaño también se puede externalizar en una clase o un archivo que sea fácil de editar.


Hice un programa usando varios JFrames

uso incorrecto de CardLayout, solo si hay una razón real para usar JDialog o JOptionPane con parent y (JDialog) quizás con setModal (true) para el JFrame solo

Pero cuando ejecuto el programa en mi PC, los JFrames son demasiado grandes y salen directamente de la pantalla

  • ¿Estás usando Absolute Layout?

  • es tu PC de alguna manera específica

  • cada sistema operativo nativo es diferente (por ejemplo, no puede encontrar dos contenedores con la misma proporción de píxeles en la pantalla ) Fuente y tamaño predeterminado para JComponents

¿Es posible establecer la resolución universal en un JFrame para que todos los componentes se dibujen un poco más pequeños?

utilice el LayoutManager adecuado, un trabajo que no es fácil, requiere un esfuerzo real

Prefiero hacer eso, pasar por todo el programa y cambiar el tamaño de cada componente de forma manual.

use el LayoutManager apropiado,

  • para una mejor ayuda antes edite su pregunta con SSCCE demostró su problema con diferentes tamaños de pantalla entre PC''s o plataformas

¡He encontrado un problema como el tuyo y lo resolví con JScrollbar! Aquí se explica cómo hacer que su JFrame se pueda desplazar.