当将面板与另一个面板包裹在一起时,为什么胶水会消失?

用户名

这是我尝试过的:

JPanel p1 = new JPanel();
BoxLayout b1 = new BoxLayout(p1, BoxLayout.X_AXIS);
p1.setLayout(b1);
p1.add(new JButton("1"));
p1.add(Box.createHorizontalGlue());
p1.add(new JButton("1"));

而且效果很好。按钮在左侧和右侧

在此处输入图片说明

但是,如果我把它包装成JPanel由管理FlowLayout胶水消失。

//Flow Layout
JPanel jp = new JPanel();

//Box Layout
JPanel p1 = new JPanel();
BoxLayout b1 = new BoxLayout(p1, BoxLayout.X_AXIS);
p1.setLayout(b1);
p1.add(new JButton("1"));
p1.add(Box.createHorizontalGlue());
p1.add(new JButton("1"));

//put it into a JPanel with FlowLayout
jp.add(p1);
panel.add(jp);

为什么?我以为胶水就像其他任何部件一样,所以它不应该消失。看起来是这样的:

在此处输入图片说明

有人不能解释吗?请注意,如果我把它变成一个JPanelBoxLayout它的罚款。

卡米克尔

为什么?我以为胶水就像其他任何成分一样,所以它不应该消失

“胶水”的首选大小为0。

有人不能解释吗?

AFlowLayout以其首选大小显示组件。因此,添加到该面板的任何面板都将以面板的首选大小显示。

使用a的面板的首选大小BoxLayout是添加到面板中的组件的大小。由于胶水的首选大小为0,因此对面板的首选大小没有影响。

“胶水”只是使用赋予面板附加功能BoxLayout也就是说,当面板尺寸(由父面板的布局管理器确定)大于首选尺寸时,BoxLayout将为胶水提供额外的空间。

因此,取决于父面板的布局管理器,“胶水”将影响或不会影响布局。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将一个对象包裹在另一个对象中

来自分类Dev

尝试将一个面板替换为另一个面板时,JFrame崩溃

来自分类Dev

将div包裹在另一个浮动div布局周围

来自分类Dev

将div包裹在另一个div内作为边框

来自分类Dev

在另一个面板内删除面板

来自分类Dev

将一个地图与另一个索引地图存储在一起

来自分类Dev

CSS定位-如何将一个输入与另一个输入放在一起

来自分类Dev

将一个地图与另一个索引地图存储在一起

来自分类Dev

EmberJS动作-包裹在“动作”中时,从另一个动作中调用一个动作

来自分类Dev

如何将面板添加到另一个面板

来自分类Dev

是否可以将一个面板的内容复制到另一个面板

来自分类Dev

SenchaTouch-将项目从一个面板移动到另一个面板

来自分类Dev

将2个变量加在一起以创建另一个变量

来自分类Dev

将两个 ID 连接在一起以获得另一个列结果

来自分类Dev

将文本从一个堆栈面板传输到另一个

来自分类Dev

使用视图将另一个表中的最新项的各个部分联接在一起

来自分类Dev

为什么添加到框架的第一个面板消失了?

来自分类Dev

在Rust中,如何将一个String与一个换行符连接在一起,然后再将另一个String连接在一起?

来自分类Dev

当第一个选择不总是返回特定行的值时,如何将一个选择与另一个选择连接在一起?

来自分类Dev

当我将一个图像拖放到另一个图像上时,为什么它消失了?

来自分类Dev

如何将一个表中另一个表具有多个ID的两个表联接在一起?

来自分类Dev

在包裹在另一个承诺中的流中等待承诺

来自分类Dev

当另一个面板正在动态移动Java swing时,如何自动正确调整面板的大小

来自分类Dev

切换到另一个面板wxpython

来自分类Dev

如何从另一个线程填充面板?

来自分类Dev

另一个类的CardLayout更改面板

来自分类Dev

如何将图像居中嵌套在另一个面板内的Bootstrap面板内?

来自分类Dev

根据同一Jframe中另一个面板的Jbutton更改面板的JLabel

来自分类Dev

创建一个将bash中另一个文件中的字符串和值连接在一起的文件

Related 相关文章

  1. 1

    将一个对象包裹在另一个对象中

  2. 2

    尝试将一个面板替换为另一个面板时,JFrame崩溃

  3. 3

    将div包裹在另一个浮动div布局周围

  4. 4

    将div包裹在另一个div内作为边框

  5. 5

    在另一个面板内删除面板

  6. 6

    将一个地图与另一个索引地图存储在一起

  7. 7

    CSS定位-如何将一个输入与另一个输入放在一起

  8. 8

    将一个地图与另一个索引地图存储在一起

  9. 9

    EmberJS动作-包裹在“动作”中时,从另一个动作中调用一个动作

  10. 10

    如何将面板添加到另一个面板

  11. 11

    是否可以将一个面板的内容复制到另一个面板

  12. 12

    SenchaTouch-将项目从一个面板移动到另一个面板

  13. 13

    将2个变量加在一起以创建另一个变量

  14. 14

    将两个 ID 连接在一起以获得另一个列结果

  15. 15

    将文本从一个堆栈面板传输到另一个

  16. 16

    使用视图将另一个表中的最新项的各个部分联接在一起

  17. 17

    为什么添加到框架的第一个面板消失了?

  18. 18

    在Rust中,如何将一个String与一个换行符连接在一起,然后再将另一个String连接在一起?

  19. 19

    当第一个选择不总是返回特定行的值时,如何将一个选择与另一个选择连接在一起?

  20. 20

    当我将一个图像拖放到另一个图像上时,为什么它消失了?

  21. 21

    如何将一个表中另一个表具有多个ID的两个表联接在一起?

  22. 22

    在包裹在另一个承诺中的流中等待承诺

  23. 23

    当另一个面板正在动态移动Java swing时,如何自动正确调整面板的大小

  24. 24

    切换到另一个面板wxpython

  25. 25

    如何从另一个线程填充面板?

  26. 26

    另一个类的CardLayout更改面板

  27. 27

    如何将图像居中嵌套在另一个面板内的Bootstrap面板内?

  28. 28

    根据同一Jframe中另一个面板的Jbutton更改面板的JLabel

  29. 29

    创建一个将bash中另一个文件中的字符串和值连接在一起的文件

热门标签

归档