调整GUI的大小?

pha*_*tom 4 java user-interface swing layout-manager null-layout-manager

我的问题很简单,但我无法找到确切的解决方案.我尝试用Java GUI编写程序,我为程序使用绝对布局,并设置框架边界(100,100,450,300).当我运行程序并使其全屏时,组件保持在他们的位置.我希望他们根据屏幕尺寸自动更换.所有支持都被接受了,谢谢! 在此输入图像描述

在此输入图像描述

Hov*_*els 6

解决方案非常简单.你说,"I use absolute layout for my program and I set frame bounds(100, 100, 450, 300)."不要这样做.使用布局管理器来帮助您放置组件.

例如,如果您使用BorderLayout作为主JPanel,并将JButton添加到new GridLayout(0, 1, 0, 5)使用JPanel(1列,变量行,行之间的5个空格),将此JPanel添加到BorderLayout.LINE_END位置的main,您的问题很可能解决了.作为一般规则,您应该避免使用null布局和使用setBounds(...)组件放置,因为这会使GUI非常不灵活,虽然它们在一个平台上看起来很好但在大多数其他平台或屏幕分辨率上看起来很糟糕且很难更新并保持.

  • @phantom:玩布局.例如在东JPanel上使用GridLayout,并考虑使用JPanel将其嵌套在BorderLayout中,将其置于PAGE_START位置,然后将此JPanel放置在BorderLayout.LINE_END位置使用BorderLayout的另一个主JPanel中.关键是要继续尝试. (3认同)