Java Swing UI 组件布局
Java Swing UI component layout
我正在研究 java 秋千,我被 UI 布局所困
我当前的输出如下。
我想稍微修改一下,并在其间添加 2 个文本输入,如下例所示。请帮助如何实现并排输入文本。
首先:你真的应该给你的组件起比jComboBox2
更有意义的名字。
您的示例图片使用 GridBagLayout 制作起来并不容易。您必须了解该布局将创建一个 n*m 网格,您可以将您的组件(如文本字段、标签、组合框等)自由放置在该网格内的任何位置。
例如,您的 jLabel4 位于网格中的位置 0/3,虽然我实际上不确定 -1 的网格宽度是多少,但我很确定它仍处于 0/3。例如,如果网格宽度为 3,则您的 jLabel4 将从 0/3 跨越到 2/3。
因此,如果您想在这两行之间放置一些东西,您需要将其放置在正确的网格坐标处并为其指定正确的宽度和高度。
但是:遗憾的是,要完全按照您的图片进行操作,您需要使用一些技巧(例如增加上下组件的网格宽度或添加另一个包含新行组件而不是组件本身的面板) .
尝试以某种方式使其工作(即使它看起来与您的图片不完全一样)而不首先使用这些技巧,因为这可能有助于您了解 GridBagLayout 的实际工作方式。一旦你真正理解了这一点,重现你的照片应该不会那么困难。
我正在研究 java 秋千,我被 UI 布局所困
我当前的输出如下。
我想稍微修改一下,并在其间添加 2 个文本输入,如下例所示。请帮助如何实现并排输入文本。
首先:你真的应该给你的组件起比jComboBox2
更有意义的名字。
您的示例图片使用 GridBagLayout 制作起来并不容易。您必须了解该布局将创建一个 n*m 网格,您可以将您的组件(如文本字段、标签、组合框等)自由放置在该网格内的任何位置。
例如,您的 jLabel4 位于网格中的位置 0/3,虽然我实际上不确定 -1 的网格宽度是多少,但我很确定它仍处于 0/3。例如,如果网格宽度为 3,则您的 jLabel4 将从 0/3 跨越到 2/3。
因此,如果您想在这两行之间放置一些东西,您需要将其放置在正确的网格坐标处并为其指定正确的宽度和高度。
但是:遗憾的是,要完全按照您的图片进行操作,您需要使用一些技巧(例如增加上下组件的网格宽度或添加另一个包含新行组件而不是组件本身的面板) . 尝试以某种方式使其工作(即使它看起来与您的图片不完全一样)而不首先使用这些技巧,因为这可能有助于您了解 GridBagLayout 的实际工作方式。一旦你真正理解了这一点,重现你的照片应该不会那么困难。