在写java图形化界面时,遇到BorderLayout布局遇到一个小问题,折腾了半天,发现是没有好好理解BorderLayout的用法。下面来记录一下:

问题:

在布局时,很自然的从 北——>中——>南 依次布局,于是添加下面两个布局:

add(textPanel, BorderLayout.NORTH);      // 添加北侧布局
add(buttonPanel, BorderLayout.CENTER);  // 添加中间布局

接下来,我想在南侧添加一个显示图片的画板,由于显示的图片比较大,所以我添加了滚动条:

JPanel paintPanel = new JPanel();
JScrollPane paintJScroll = new JScrollPane(paintPanel);
add(paintJScroll, BorderLayout.SOUTH);

这样一运行,发现图片显示不全,滚动窗口没有出现,而且图片还会覆盖中间的按钮。

查阅资料发现,BorderLayout的下面几点用法:

  • 可以把组件放在这五个位置的任意一个,如果未指定位置,则缺省的位置是CENTER。
  • 南、北位置控件各占据一行,控件宽度将自动布满整行。东、西和中间位置占据一行;
  • 若东、西、南、北位置无控件,则中间控件将自动布满整个屏幕。若东、西、南、北位置中无论哪个位置没有控件,则中间位置控件将自动占据没有控件的位置。

原来是只有中间位置的控件才能自动扩充,我把按钮的画板调整到南部的位置,然后把显示图片的画板放到中间位置,这样图片就会自动填充并且会出现滚动窗口了。

add(textPanel, BorderLayout.NORTH);
add(buttonPanel, BorderLayout.SOUTH);
add(paintJScroll);
参考文章:

https://docs.oracle.com/javase/8/docs/api/java/awt/BorderLayout.html

Java——BorderLayout(边界布局)相关推荐

  1. Java——BorderLayout边界布局

    ┏(ω)=☞ 本专栏的目录(为您提供更好的查询方式)(点这里说不定有你想要的) import java.awt.*;import javax.swing.*;public class a {publi ...

  2. java边界布局东南西北_JAVA swing布局管理器实例解析

    组件在容器(比如Jframe)中的位置和大小是由布局管理器来决定的.所有的容器都会使用一个布局管理器,通过它来自动进行组件的布局管理. 种类 java共提供了五种布局管理器,只介绍三种是最常见的布局管 ...

  3. java常用布局管理器(流布局管理器、边界布局管理器、网格布局管理器)

    在Swing中,每个组件在容器中都有一个具体的位置大小.而在容器中摆放各种组件时很难判断其具体位置和大小,使用布局管理器比程序员直接在容器中控制Swing组件的位置和大小方便得多,可以更加有效地处理整 ...

  4. 【JAVA】-- Java五大常用布局管理器(BorderLayout、FlowLayout、GridLayout、GridBagLayout、CardLayout)

    在Swing组件中,有JFrame和JDialog这样的顶级容器(也叫窗口),顶级容器不能放置在其他容器中,可完成窗口大小化等基本功能. 也有JPanel这样的面板组件,比较复杂的布局,需要布局管理器 ...

  5. Java-Swing- BorderLayout() 边界布局

    Java-Swing- BorderLayout() 边界布局: package com.etc.layoutmanage;import javax.swing.*; import java.awt. ...

  6. 怎样使用BorderLayout管理布局页面?效果怎样?

    BorderLayout(边界布局管理器)是一种较为复杂的布局方式,它将容器划分为五个区域,分别是页头(PAGE_START).页尾(PAGE_END).行首(LINE_START).行尾(LINE_ ...

  7. Java编程基础 - 布局管理器

    1. 布局管理器介绍 组件在容器(比如JFrame)中的位置和大小是由布局管理器来决定的.所有的容器都会使用一个布局管理器,通过它来自动进行组件的布局管理. java共提供了五种布局管理器:流式布局管 ...

  8. 三十、Java图形化界面设计——布局管理器之BorderLayout(边界布局)

    边界布局管理器把容器的的布局分为五个位置:CENTER.EAST.WEST.NORTH.SOUTH.依次对应为:上北(NORTH).下南(SOUTH).左西(WEST).右东(EAST),中(CENT ...

  9. Java Swing面板布局之边界布局BorderLayout

    一.简介 边界布局管理器把容器的的布局分为五个位置:CENTER.EAST.WEST.NORTH.SOUTH.依次对应为:上北(NORTH).下南(SOUTH).左西(WEST).右东(EAST),中 ...

  10. import java.awt.BorderLayout;_Swing-布局管理器之BorderLayout(边界布局)-入门

    边界布局管理器(BorderLayout)把容器的的布局分为五个位置:CENTER.EAST.WEST.NORTH.SOUTH.依次对应为:上北(NORTH).下南(SOUTH).左西(WEST).右 ...

最新文章

  1. 镜像打包工具clonezilla
  2. pandas dropna
  3. $$和$BASHPID区别
  4. 在matlab中intcon什么意思,GADST,你为何这么叼?(一)
  5. ADB 无线连接设备
  6. 数组元素前移后移 RUNOOB python练习题 68
  7. 贪心——FatMouse' Trade(hdu1003)
  8. vue项目中使用lib-flexible解决移动端适配
  9. JVM快速调优手册v1.0之三:内存分配策略
  10. 第二届世界智能大会,看大咖眼中的智能时代
  11. GitHub上README写法暨markdown语法解读
  12. java开发冒险岛系统实训报告_2017级C语言大作业 - 小小冒险岛
  13. asp.net网上订餐系统
  14. 代价敏感随机森林Python附代码
  15. android冷暖色调节
  16. 语音文件格式转换:.amr 转 .MP3, .wav格式
  17. [每日一氵]上古年代的 Visual Studio2015 安装
  18. 推荐书单——不定时更新
  19. 【结构型模式】《大话设计模式》——读后感 (9)牛市股票还会亏钱?——外观模式
  20. IOT网关开发受难记-(一) 2022/05/13

热门文章

  1. 线性代数 --- 如何用行置换矩阵(P)和列置换矩阵(Q)对矩阵进行操作?
  2. javaweb课程设计 实现天猫购物网站(前端+后端)
  3. Discuz任意文件删除
  4. 超棒的圆形风格卡通和漫画超级英雄设计
  5. 使用Docker安装Oracle步骤
  6. 2022-2027年中国布洛芬行业市场深度分析及投资战略规划报告
  7. 【C#】基于Stateless的简易半物理仿真工具
  8. linux tar 打包gzip,tar linux 打包 压缩 gzip 命令说明
  9. 如何获取瘦人肠道菌群_还是瘦不下来?吃屎啦!——肠道菌群是怎样影响我们胖瘦的?...
  10. win32 串口开发 :串行通信