相关文章推荐
逃跑的小刀  ·  overflow-x - CSS: ...·  3 天前    · 
一直单身的匕首  ·  backdrop-filter - ...·  2 周前    · 
不爱学习的番茄  ·  Error occurring when ...·  4 周前    · 
潇洒的火锅  ·  WPF DataGrid ...·  1 月前    · 
销魂的烈马  ·  Traceback (most ...·  1 月前    · 
霸气的毛衣  ·  bcprov-jdk15-1.46.jar ...·  2 月前    · 
无聊的莴苣  ·  如何删除SQL ...·  7 月前    · 

久违的重新用上了java的Swing库,结果在使用的时候发现:父容器设置了BorderLayout布局之后,往上添加JPanel子组件时通过SetSize/setMinimumSize设置其大小死活不起作用,后来查了一下发现需要通过setPreferredSize来设置组件的首选大小才行。

SetSize/setMinimumSize/setPreferredSize只是给父组件或布局管理器他们能得到多少空间的暗示而已,并不会立即刷新布局,需要父容器执行pack才行(在父容器显示之前设置好大小则不需要执行pack,且应该在add之前设置好,因为add之后再改变子组件属性的话,其会尝试通知父容器)。

其中SetSize经过个人在se1.6下的测试,在BorderLayout布局下其应该是是被直接忽略的。

参考文章:http://blog.sina.com.cn/s/blog_7dfb07ac01018f5u.html      (应该不算是转载,所以就没有通知作者喽, -) 如有问题请联系....久违的重新用上了java的Swing库,结果在使用的时候发现:父容器设置了BorderLayout布局之后,往上添加JPanel子组件时通过SetSize/setMinimumSize设置其大小死活不
Border Layout Java Swing 库提供的一种 布局 管理器,用于将容器划分为北、南、东、西和中五个区域,并在这些区域中添加 组件 。 在 Border Layout 中,每个区域只能包含一个 组件 ,当添加多个 组件 时,它们会自动填充各自的区域并根据 大小 进行调整。以下是 Border Layout 的五个区域: 北(North):位于容器的顶部。 南(South):位于容器的底部。 东(East):位于容器的右侧。 西(West):位于容器的左侧。 中(Center):占据容器的中心位置,通常用于显示主要内容。
在向容器中添加 组件 时,需要考虑 组件 大小 和位置。如果不 使用 布局 管理器,则需要先在纸上画好各个 组件 的位置并计算 组件 间的距离,再向容器中添加,这样虽然可以控制 组件 的位置,实现起来却十分麻烦。 为此 java 提供了6种 布局 管理器,可以将 组件 进行统一管理,没有 布局 管理器都实现 Layout Manager接口 边框 布局 管理器 Border Layout (边框 布局 管理器)是 Window、JFrame ...  Border Layout 类在 java .awt包中  JFrame类的默认 布局 Border Layout Border Layout 布局 把容器划分为东、西、南、 北、中五个区域,中间区域最大  添加 组件 的方法有两个: • add(x, Border Layout .pos) • add( Border Layout .pos, x) • pos是NORTH, SOUTH, EAST, WEST, CENTER之一 Border Layout 布局  东、西区和南、北区充满程
使用 Border Layout 时,中间的面板会随着窗体的变化而变化,其他区域的 大小 根据添加 组件 多少而变化。举个例子,现在想将一个面板固定到上边,高度为固定值,这是我们需要 设置 面板的高度。但是调用面板的 setSize()方法根本没有效果。调用 setMaximumSize()和setMinimumSize()都没有用。 最后才发现应该调用的是 setPreferredSize()才能达到效果。
总结:在 使用 边界 布局 发现,把所有的按钮 组件 都放入了panel.但是在中部的按钮 组件 找不到了。发现自己重复用了 组件 1.this.add(bt4, Border Layout .North); 2.panel.add(bt4, Border Layout .North); this.add(panel); 这里的1和2的不同点是,前者直接放在frame里。 后者是放在面板里,但是它会造成按钮 组件 ...
使用 JAVA 中自带的图形用户界面时,将JFrame 设置 为边 布局 之后会发现其中的文本框无法改变高度了,只需加入下面的代码 text1.setPreferredSize(new Dimension (20,40)); 即可改变文本框的高度,使整体 布局 更加的美观!
Java Border Layout 布局 方式是一种经典的 布局 方式,它将容器分为5个区域:北、南、东、西和中心。这种 布局 方式的特点是可以让 组件 按照指定的方向进行排列,同时可以自动调整 组件 大小 和位置,使得整个界面看起来更加美观和整洁。 具体来说, Border Layout 布局 方式的特点包括以下几个方面: 1. 区域划分明确: Border Layout 将容器分为5个区域,每个区域只能放置一个 组件 ,这样可以使得 组件 之间的关系更加清晰明了。 2. 自动调整 大小 和位置:当 组件 被添加到 Border Layout 布局 中时,它们会自动调整 大小 和位置,以适应容器的 大小 布局 方式。 3. 灵活性强: Border Layout 布局 方式可以根据需要进行调整,比如可以 设置 某个区域的 大小 或者将某个 组件 放置在中心区域。 4. 适用性广泛: Border Layout 布局 方式适用于各种类型的应用程序,包括桌面应用程序、Web应用程序等。 总之, Java Border Layout 布局 方式是一种非常实用的 布局 方式,它可以帮助开发者快速构建出美观、整洁的界面。