Java-swing布局详解(附示例图)

c#小王子 c#小王子 2021-11-19 1424 Java


Java-swing布局详解(附示例图)



当选择使用 JPanel 和顶层容器的 content pane 时,需要考虑布局管理。JPanel 缺省是初始化一个 FlowLayout,而 content pane 缺省是初始化一个 BorderLayout。下面将分别介绍几种最常用的布局管理器:FlowLayout、BorderLayout、BoxLayout、CardLayout、GridLayout 和 GridBagLayout。


代码演示


每一个布局管理器都会有一个代码演示,xxxLayoutDemo.java(见附件)。这些文件主要有三个方法组成:addComponentsToPane()提供布局逻辑(依据不同的布局管理器和 UI 内容)。


Java 代码


1 public static void addComponentsToPane(Container pane) {。。。} 
2 /**
3 *createAndShowGUI()实例化一个 JFrame,通过它的 ContentPane 加载布局逻辑
内容。
4 */
5 private static void createAndShowGUI() {
6 // Create and set up the window.
7 JFrame frame = new JFrame("FlowLayoutDemo");
8 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
9 // Set up the content pane.
10 addComponentsToPane(frame.getContentPane());
11 // Display the window.
12 frame.pack();
13 frame.setVisible(true);
14 }
15 //main()程序入口,单独起一个线程,实例化 UI。
16 public static void main(String[] args) {
17 javax.swing.SwingUtilities.invokeLater(new Runnable() {
18 public void run() {
19 createAndShowGUI();
20 }
21 });
22 }


FlowLayout


FlowLayout 类是最简单的布局管理器。它按照和页面上排列单词的类似方式来安排组件----从左到右,直至没有多余的空间,然后转到下一行。

效果:



内容面板代码:


Java 代码


23 public static void addComponentsToPane(Container pane) {
24 pane.setLayout(new FlowLayout());
25 pane.add(new JButton("Button 1"));
26 pane.add(new JButton("Button 2"));
27pane.add(new JButton("Button 3"));
28pane.add(new JButton("Long-Named Button 4"));
29 pane.add(new JButton("5"));
30 }


BorderLayout

一个 BorderLayout 对象将界面分成五大区域,分别用 BorderLayout 类的静态常量指定:


-PAGE_START

-PAGE_END

-LINE_START

-LINE_END

-CENTER

效果:



内容面板代码:


Java 代码


31 public static void addComponentsToPane(Container pane) {
32 JButton button = new JButton("Button 1 (PAGE_START)");
33 pane.add(button, BorderLayout.PAGE_START);
34 button = new JButton("Button 2 (CENTER)");
35 button.setPreferredSize(new Dimension(200, 100));
36 pane.add(button, BorderLayout.CENTER);
37 button = new JButton("Button 3 (LINE_START)");
38 pane.add(button, BorderLayout.LINE_START);
39 button = new JButton("Long-Named Button 4 (PAGE_END)");
40 pane.add(button, BorderLayout.PAGE_END);
41button = new JButton("5 (LINE_END)");
42 pane.add(button, BorderLayout.LINE_END);
43}

【下载地址】

百度网盘链接:https://pan.baidu.com/s/1QR4QpgxYZBSzvHidUZJ5Cw

提取码:q71t


相关文章


使用-JFreeChart来创建基于web的图表

使用-JFreeChart来创建基于web的图表

XStream使用文档

XStream使用文档

WebService发布过程及常见问题

WebService发布过程及常见问题

webpack实战入门进阶调优分享

webpack实战入门进阶调优分享

weblogic调优参数及监控指标

weblogic调优参数及监控指标

weblogic节点管理

weblogic节点管理

weblogic管理控制台概述

weblogic管理控制台概述

weblogic-部署和启动

weblogic-部署和启动

WebLogic-Server-性能及调优-调优-Java-虚拟机

Java 虚拟机(Java virtual machine,简称 JVM)是一种虚拟“执行引擎”实例,可在微处理器上执行 Java 类文件中的字节码。调整 JVM 的方式会影响 Weblogic Server 和应用程序的性能。

Velocity用户教程

Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。

Velocity用户手册

Velocity 用户手册是帮助页面设计者和内容提供者认识 Velocity 和其简单而功能强大的脚本语言――Velocity 模板语言(VTL)。在手册上的许多例子,都是用 Velocity 插入动态的内容到网页上,但是所有的 VLT 例子都能应用到其他的页面和模板中。


文章热度: 166291
文章数量: 333
推荐阅读

FlashFXP绿色版网盘下载,附激活教程 1781

FlashFxp百度网盘下载链接:https://pan.baidu.com/s/1MBQ5gkZY1TCFY8A7fnZCfQ。FlashFxp是功能强大的FTP工具

Adobe Fireworks CS6 Ansifa绿色精简版网盘下载 1565

firework可以制作精美或是可以闪瞎眼的gif,这在广告领域是需要常用的,还有firework制作下logo,一些原创的图片还是很便捷的,而且fireworks用法简单,配合dw在做网站这一块往往会发挥出很强大的效果。百度网盘下载链接:https://pan.baidu.com/s/1fzIZszfy8VX6VzQBM_bdZQ

navicat for mysql中文绿色版网盘下载 1623

Navicat for Mysql是用于Mysql数据库管理的一款图形化管理软件,非常的便捷和好用,可以方便的增删改查数据库、数据表、字段、支持mysql命令,视图等等。百度网盘下载链接:https://pan.baidu.com/s/1T_tlgxzdQLtDr9TzptoWQw 提取码:y2yq

火车头采集器(旗舰版)绿色版网盘下载 1707

火车头采集器是站长常用的工具,相比于八爪鱼,简洁好用,易于配置。火车头能够轻松的抓取网页内容,并通过自带的工具对内容进行处理。站长圈想要做网站,火车头采集器是必不可少的。百度网盘链接:https://pan.baidu.com/s/1u8wUqS901HgOmucMBBOvEA

Photoshop(CS-2015-2023)绿色中文版软件下载 1823

安装文件清单(共46G)包含Window和Mac OS各个版本的安装包,从cs到cc,从绿色版到破解版,从安装文件激活工具,应有尽有,一次性打包。 Photoshop CC绿色精简版 Photoshop CS6 Mac版 Photoshop CC 2015 32位 Photoshop CC 2015 64位 Photoshop CC 2015 MAC版 Photoshop CC 2017 64位 Adobe Photoshop CC 2018 Adobe_Photoshop_CC_2018 Photoshop CC 2018 Win32 Photoshop CC 2018 Win64

知之

知之平台是全球领先的知识付费平台。提供各个领域的项目实战经验分享,提供优质的行业解决方案信息,来帮助您的工作和学习

使用指南 建议意见 用户协议 友情链接 隐私政策 Powered by NOOU ©2020 知之