内容整理于:http://blog.csdn.net/xietansheng/article/details/72814531

简介

Swing 是 Java 为图形界面应用开发提供的工具包,包含了构建图形界面的各种组件,如: 窗口、标签、按钮、文本框等。

Swing 组件在javax.swing.*包下,类名均以 J 开头,例如: JFrame、JLabel、JButton等。

Swing组件

图形界面由各种不同类型的“元素”组成,例如: 窗口、菜单栏、对话框、标签、按钮、文本框等等,这些“元素”统一被称为 组件,按照不同的功能,可分为 顶层容器中间容器基本组件

一个简单窗口的组成,层级结构为:

  • 顶层容器

    • 中间容器

      • 基本组件

顶层容器(窗口)

顶层容器指窗口类组件,可独立显示。图形界面至少需要一个窗口。

例如:JFrame 普通窗口

中间容器(面板、区域划分组件)

中间容器是基本组件的载体,不可独立显示。中间容器可以添加若干基本组件(也可以嵌套添加中间容器),对容器内的组件进行管理,类似于给各种复杂的组件进行分组管理。

最顶层的中间容器必须依托在顶层容器(窗口)内。例如:JPanel (面板容器组件)

基本组件(具体功能实现用到的组件)

基本组件是直接实现具体功能的组件。

布局管理器

Swing 的各种组件添加到面板容器中(JPanel),需要给面板容器指定布局管理器,明确容器、内的各个组件之间的排列布局方式。

实例:简单的窗口程序

import javax.swing.*;
public class t_1 {public static void main(String[] args) {// 1. 创建一个顶层容器(窗口)JFrame jf = new JFrame("窗口");          // 创建窗口jf.setSize(300, 300);                       // 设置窗口大小jf.setLocationRelativeTo(null);             // 把窗口位置设置到屏幕中心/*setLocationRelativeTo(Component c)设置窗口相对于指定组件的位置。 如果组件当前未显示或者 c 为 null,则此窗口将置于屏幕的中央。*/jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); // 当点击窗口的关闭按钮时退出程序(没有这一句,程序不会退出)// 2. 创建中间容器(面板容器)JPanel p = new JPanel();                // 创建面板容器,使用默认的布局管理器// 3. 创建一个基本组件(按钮),并添加到 面板容器 中JButton b = new JButton("按钮");panel.add(b);// 4. 把 面板容器 作为窗口的内容面板 设置到 窗口jf.setContentPane(p);// 5. 显示窗口jf.setVisible(true);//前面代码创建的信息已经存储在内存中,通过 jf.setVisible(true) 把内存中的窗口显示在屏幕上。}
}

【Java】浅谈Swing概况及简单窗口的构建相关推荐

  1. android分屏模式_浅谈 Android 7.0 多窗口分屏模式的实现

    从 Android 7.0 开始,Google 推出了一个名为"多窗口模式"的新功能,也就是我们常说的"分屏模式".那么,这个功能有什么用呢?作为开发者,我们又 ...

  2. 浅谈深度学习:了解RNN和构建并预测

    浅谈深度学习:了解RNN和构建并预测 总包含文章: 一个完整的机器学习模型的流程 浅谈深度学习:了解RNN和构建并预测 浅谈深度学习:基于对LSTM项目LSTM Neural Network for ...

  3. 浅谈百度地图的简单开发之实现地图全景,内景展示功能(四)

    今天,我就接着来浅谈一下关于百度地图的内景,外景的展示功能.今天具体要实现的功能就是输入该地点的名称然后就展示该地点的内景图片,有内景就展示内景,没有则显示该地点的街景,该功能是参考百度地图官方的AP ...

  4. java的setbounds_java Swing组件setBounds()简单用法实例分析

    本文实例讲述了java Swing组件setBounds()简单用法.分享给大家供大家参考,具体如下: 先看API: public void setBounds(Rectangle r) 移动组件并调 ...

  5. 浅谈游戏中的简单判定机制

    目录: 个人简介 前言 坦克世界中的判定原理 点亮与隐蔽 跳弹与击穿 总结 真实版的坦克世界1 强行加数学公式 个人简介 学号: 16340089 学院名称 前言 在信息发达的社会,游戏已经成为我们生 ...

  6. 浅谈百度地图的简单开发再续前缘之公交,地铁路线检索查询(六)

    关于百度地图的简单开发前段时间,写过一个小系列的博客关于百度地图的基本地图,定位,全景,导航等功能做了简单的介绍.从今天开始又将准备一期有关百度地图的POI检索的等一列查询功能,如城市检索,周边检索, ...

  7. 浅谈百度地图的简单开发之引入基本地图以及修改地图样式(一)

    今天,想给大家带来一个基于百度地图官方开放的API开发的高仿百度地图的Demo(还称不上是一个APP),基本实现了百度地图的几大核心功能,百度地图中的基本地图,百度地图的定位,百度地图的全景显示,百度 ...

  8. 浅谈百度地图的简单开发之结合方向传感器实现定位功能(三)

    今天我们来谈下百度地图的定位功能,在此之前我已经将百度地图的基本地图大概说了下,其实百度地图的基本功能还有很多的内容.感兴趣的可以到百度地图的开发者的官网看看.今天就开始来讲下百度地图中的定位功能. ...

  9. java:浅谈axis调用webservice接口

     [申明:此代码已经经过测试可以正确使用:但内容解释为个人见解,如有不准确之处,请指教.              阅读前请先仔细阅读"[]"中的说明文字,以免与您的需求不符而 ...

最新文章

  1. 使用sendfile()让数据传输得到最优化,TCP_CORK、TCP_DEFER_ACCEPT和TCP_QUICKACK优化网络...
  2. 5G中网络切片技术是什么?—Vecloud
  3. postgresql 创建用户_Liunx系统安装PostgreSQL数据库教程,值得程序员收藏pg安装教程
  4. Minimum supported Gradle version is 4.1. Current version is 4.0.
  5. python的excel库_Python-Excel 模块哪家强?
  6. python3元类简介(metaclass)
  7. Transformer又又来了,生成配有音乐的丝滑3D舞蹈,开放最大规模数据集AIST++
  8. 使用Canvas扩展绘制动态ASP.NET Core Blazor气泡图
  9. 【以太坊源码】以太坊黄皮书参数
  10. 【OpenGL】OpenGL4.3常用指令目录
  11. 计算机工程主编陶小雪,城市环境所在MOFs基催化剂的制备和VOCs催化氧化方面取得进展...
  12. centos查询 硬盘序列号查询_CentOS/Linux 查看硬件配置CPU内存磁盘
  13. php运行方式isapi,在IIS6中配置PHP运行(ISAPI模式)环境(1)
  14. 详细的ico图标制作与Qt修改exe图标方法
  15. android使用at指令集,详细的AT指令集
  16. 重庆文理学院计算机公众号,重庆文理学院各微信公众号影响力排行榜新鲜出炉啦!!!...
  17. 备份服务器虚拟机,虚拟机备份与复制的区别
  18. LTR问题 position debias方法
  19. Vcastr 2.2 flv 网络播放器
  20. 为什么成立计算机维修社团,张家口煤矿机械制造高级技工学校学生计算机维修社团成立...

热门文章

  1. Web前端——登录界面hover效果
  2. Jmeter-录制脚本操作
  3. MySQL创建/查看/修改/删除数据库
  4. android手电筒
  5. Visual C++不小心卸载,很多软件不能用了怎么办
  6. 【IoT库】RFID基础知识第2期 · 历史发展
  7. Win11 “qq无法访问个人文件夹”解决方法(原创)
  8. Docker内时区查询和修改方法
  9. PTA(十一)计算指数
  10. APP运营精华:6种营销推广模式