Jes*_*ssy 10 java swing jlabel jpanel layout-manager
JPanel pMeasure = new JPanel();
....
JLabel economy = new JLabel("Economy");
JLabel regularity = new JLabel("Regularity");
pMeasure.add(economy);
pMeasure.add(regularity);
...
Run Code Online (Sandbox Code Playgroud)
当我运行上面的代码时,我得到这个输出:
Economy Regularity
Run Code Online (Sandbox Code Playgroud)
如何获得此输出,每个JLabel在新行上启动?谢谢
Economy
Regularity
Run Code Online (Sandbox Code Playgroud)
Joh*_*ica 19
您将想要使用布局管理器来控制您的控件的定位和大小JPanel.布局管理器负责放置控件,确定它们的位置,它们的大小,它们之间的空间大小,调整窗口大小时会发生什么等等.
有大量不同的布局管理器,每个布局管理器允许您以不同的方式布局控件.默认的布局管理器FlowLayout,正如您所见,只是将组件从左到右放置在彼此旁边.那是最简单的.其他一些常见的布局管理器是:
GridLayout - 将组件排列在具有相等大小的行和列的矩形网格中BorderLayout - 中心有一个主要部件,上面,下面,左边和右边有四个周围的部件.GridBagLayout - 所有内置布局管理器的Big Bertha,它是最灵活但也最复杂的使用.例如,您可以使用BoxLayout来布局标签.
BoxLayout要么将其组件堆叠在一起,要么将它们放在一排 - 您的选择.您可能会将其视为一个版本FlowLayout,但功能更强大.下面是一个应用程序的图片,演示了如何使用BoxLayout显示组件的居中列:
代码使用的一个例子BoxLayout是:
JPanel pMeasure = new JPanel();
....
JLabel economy = new JLabel("Economy");
JLabel regularity = new JLabel("Regularity");
pMeasure.setLayout(new BoxLayout(pMeasure, BoxLayout.Y_AXIS));
pMeasure.add(economy);
pMeasure.add(regularity);
...
Run Code Online (Sandbox Code Playgroud)
我读了这段代码:
pMeasure.setLayout(new BoxLayout(pMeasure, BoxLayout.VERTICAL));
Run Code Online (Sandbox Code Playgroud)
似乎BoxLayout没有VERTICAL.在搜索时,这将使用以下代码:
pMeasure.setLayout(new BoxLayout(pMeasure, BoxLayout.Y_AXIS));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
54496 次 |
| 最近记录: |