java - 布局 - 相对于屏幕尺寸

标签 java swing layout layout-manager

所以我是一名计算机科学专业的学生,​​我已经完成了第一年的学习。我想创建一个简单的程序,但我意识到我已经厌倦了不使用布局;

this.setLayout(null);

为每个单独的组件添加边界是一件令人厌烦的事情。好吧,我一直在大量使用 JPanel 组件和 GridLayout,这让我的工作变得更加轻松。但是我厌倦了。

我非常关心我制作的 GUI 的外观,并且在我开始添加代码的功能之前,几乎有一半的时间用于编程以使 GUI 看起来不错。通过不使用布局和添加边界,我不得不 setResizable(false) 因为如果我更改 JFrame 的大小它看起来很糟糕。

我搜索了一下,知道 BorderLayoutFlowLayout,但我不喜欢它们。是否有任何布局可以保持组件相对于窗口大小的相对大小?

例如,我想制作一个看起来像这样的简单程序:(Photoshop 中的速写)

enter image description here

我可以用 3 个面板轻松地做到这一点,但正如我所说,如果我更改框架的大小,所有内容都会保持在原位,而不是相对于窗口大小。

你们能帮帮我吗?

最佳答案

我希望这个设计适合 BorderLayout,在 NORTH 中,值发生变化,在 CENTER 中,你有主要部分,在 SOUTH 中,你有按钮。

Link to the Oracle Border Layout

您可以将此 BorderLayout 应用于 JFrame,然后为 NORTH、CENTER 和 SOUTH 部分分别创建 3 个 JPanel。如果您想对组件和面板使用响应式设计,请查看 GridBagLayout这比 GridLayout 灵活得多

关于java - 布局 - 相对于屏幕尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24462297/

相关文章:

java - 在java中滑动数组 - 基于算法

java - 除了修改 hadoop-env.sh 之外,如何在 hadoop 中指定系统属性?

java - jComboBox 的显示区域

java - 使用递增和递减按钮在 java Swing 中创建一个数字文本框

java - 当主框架在 NetBeans 中最大化时自动调整内部框架的大小

java - Exoplayer 构建器在按下后退并再次打开视频时出现错误

java - 如何让StatefulJobs连续运行(而不是同时运行)?

css - 是否可以将定位元素从具有转换的父元素中分离出来?

ruby-on-rails - 避免在 Rails 4 中呈现单独的布局 CSS 文件(样式表冲突)

html - 如何让短内容页面到达浏览器窗口底部,然后出现页脚