我的问题很简单,但我找不到确切的解决方法。我尝试用Java GUI编写程序,我为程序使用绝对布局,并设置框架边界(100,100,450,300)。当我运行程序并使其全屏时,组件保持在他们的位置。我希望他们根据屏幕尺寸自动更换。 所有支持都被接受了,谢谢!
答案 0 :(得分:6)
解决方案非常简单。你说,"I use absolute layout for my program and I set frame bounds(100, 100, 450, 300)."
不要这样做。使用布局管理器来帮助您放置组件。
例如,如果您使用BorderLayout作为主JPanel,并使用JPanel(1列,变量行,行之间的5个空格)将JButton添加到new GridLayout(0, 1, 0, 5)
,则将此JPanel添加到BorderLayout中的main .LINE_END位置,您的问题很可能已经解决。作为一般规则,您应该避免使用null布局并使用setBounds(...)
进行组件放置,因为这会使非常不灵活的GUI,虽然它们在一个平台上看起来很好但在大多数其他平台或屏幕分辨率上看起来很糟糕很难更新和维护。