如何在调整JFrame大小时调整组件大小?使用空布局

时间:2013-07-09 09:00:10

标签: java swing jframe layout-manager null-layout-manager

我正在使用NetBeans Designer创建JFrame。另外值得一提的是我对Java相当新,所以我可能不了解某些事情/做正确的事情。这个框架有大约100个面板,比我想的计数更多的按钮,大约约40个表,基本上NetBeans设计器提供的大多数摆动组件都在框架内使用。同样对于主框架我使用Null Layout(为了在JLabel中有一个背景图像)。我知道它不推荐,但它不会影响事物的总体布局,因为我使用面板/ LayeredPane / TabbedPane用于所有东西,每个都有自己的设计(大部分都是在自由设计上没有指定布局 - 这就是我的方式开始,不知道Layouts,现在需要花费很长时间才能重新安排使用Grid Bag Layout之后的所有内容。)

现在遇到我的问题,我需要能够调整帧的大小并使其调整所有包含的组件的大小。我必须在明天进行演示,我只是注意到它不适合较小的显示器(并且调整它不能正确地执行它,它只是隐藏组件)。我不在乎它是否只是即兴创作/不是解决问题的最佳方法,因为在15分钟的演示之后我可能永远不会再打开它。 感谢。

1 个答案:

答案 0 :(得分:2)

我会尝试遍历所有组件树并尝试将它们设置为较小的字体并将其所有边界减少到某个静态%。

换句话说,对于每个组件,将x,y,widht,height乘以例如0.75并调用setFont()传递派生字体小25%。