将SWING组件放在Java全屏应用程序中的最佳实践?

时间:2011-06-25 01:27:55

标签: java swing fullscreen

我目前正在创建一个类似于自助服务终端应用程序的全屏Java应用程序。问题是,应用程序将在具有不同屏幕尺寸和分辨率的多台不同计算机上运行,​​因此我无法以绝对的方式放置我的SWING组件。

我想知道在创建这种类型的程序时解决这个问题的最佳方法是什么。到目前为止,我倾向于使用相对于屏幕尺寸的百分比并相应地定位我的组件。

我预见到的问题是,如果我想将屏幕的一部分分配给JLabel,使用百分比值,标签在较小的屏幕上会变小,而字符串会更多字母将无法完整显示。

然后解决方案是使用FontMetrics来缩放带有Labels / Buttons / etc大小的文本,但是我对FontMetrics类以及我必须做的所有计算都知之甚少。文字大小合适。

基本上,我想知道的是:我是以正确的方式接近这个还是让自己变得太复杂?我很确定我能按照我刚才描述的方式来做,但如果有一个解决方案只需要一小部分时间,我不想浪费太多时间。

1 个答案:

答案 0 :(得分:4)

原则上,这就是LayoutManagers的用途:http://download.oracle.com/javase/6/docs/api/java/awt/LayoutManager.html

如果没有一个默认适合您的需求,那么您将不得不手动计算出数学,以弄清楚如何以不同的分辨率/宽高比优化组件的位置。 (无论如何,这听起来都是你要做的。)