Java之GUI图形界面( Swing、容器组件、 布局管理器、常用容器、常用组件)
目录
Swing概述
容器和组件
常用容器
JFrame:
JPanel :
常用组件
JLabel 标签:
JTextField 单行文本:
JTextArea 多行文本框:
JPasswordField 密码框:
JButton 按钮:
JMenuBar 菜单栏 、 JMenu 菜单、JMenuItem菜单项:
布局管理器
1.FlowLayout流式:
2.BorderLayout 边界布局
3.GridLayout 网格布局
GUI:Graphical User Interface图形用户界面——采用图形方式显示的计算机操作用户界面,使应用程序看起来更加友好。
Swing概述
Swing组件使得应用程序在不同的平台上运行具有相同的外观和行为,Swing中的大部分组件位于javax.swing包中,Swing包含功能强大的许多组件,如下图:
容器和组件
容器:容器可以添加多个组件,通过add(Component comp)方法添加。
组件:组件必须在容器里呈现出来,窗口(Frame)和面板(Panel)是最常用的两个容器
常用容器
JFrame:
继承JFrame 类创建窗口,但默认窗口不可见,调用setVisible(boolean b)方法控制是否可见。
构造放方法:
JFrame() | 创建新窗体,该窗体初始为不可见 |
JFrame(String title) | 创建新窗体,使用参数title指定标题,该窗体初始为不可见 |
JFrame中的方法:
void setSize(int width, int height):设置窗口大小
void setVisible(boolean b):设置窗口是否可见,一般放在最后
void setTitle(String title):设置窗口的标题
void setResizable(boolean resizable):控制窗口是否可调节大小
void setLocation(int x,int y):设置窗口出现的位置
void setLocationRelativeTo(null):设置窗口关于某个组件的相对位置,null默认水平垂直居中
void setDefaultCloseOperation(int operation):设置默认的关闭窗口状态
void dispose():释放由此 Window、其子组件及其拥有的所有子组件所使用的所有本机屏幕资源。
JPanel :
JPanel提供面板,它是轻量级的容器;
面板中可以添加其它组件,也可以设置布局,我们一般使用面板来实现布局嵌,JPanel作为一个组件添加到面板上;
构造方法:
JPanel() | 创建一个空面板 |
JPanel(LayoutManaer layout) | 创建带有指定布局的面板 |
常用方法:
void setBackground(Color bg)设置面板的背景色
void setLayout(LayoutManager mgr)设置面板的布局
Component add(Component comp)添加一个组件
常用组件
JLabel 标签:
构造方法可添加文字,图标
方法:
JLabel jLabel = new JLabel("欢迎Welcome");
// jLabel.setText("欢迎Welcome");添加文字jLabel.setFont(new Font("楷体",Font.BOLD,20));//设置字体String s = jLabel.getText();//获得标签上的字体System.out.println(s);
JTextField 单行文本:
JTextField jTextField = new JTextField("请输入内容",15);//内容,列数,setColumns(15)方法也可设置列数jTextField.setEditable(true);//设置文本是否可编辑jTextField.getText();//获得文本
JTextArea 多行文本框:
JTextArea jTextArea = new JTextArea(10,20);//设置文本区的大小,行和列数jPanel.add(jTextArea);jTextArea.setLineWrap(true);//是否自动换行JScrollPane jScrollPane = new JScrollPane(jTextArea);//滚动栏jPanel.add(jScrollPane);//将滚动栏添加到面板上
JPasswordField 密码框:
JPasswordField jPasswordField = new JPasswordField("123456",15);//设置内容 列数String s = new String(jPasswordField.getPassword());//获得密码文本System.out.println(s);//123456
JButton 按钮:
JButton jButton1 = new JButton("登录");jButton1.setBackground(new Color(4,186,251));//设置按钮背景颜色
// jButton1.setEnabled(false);//是启用用按钮jButton1.setToolTipText("点击登录");//悬停提示
JMenuBar 菜单栏 、 JMenu 菜单、JMenuItem菜单项:
JMenuBar jMB= new JMenuBar();jPanel.add(jMB);//添加菜单JMenu jMenu1 = new JMenu("文件");JMenu jMenu2 = new JMenu("编辑");JMenu jMenu3 = new JMenu("格式");JMenu jMenu4 = new JMenu("查看");JMenu jMenu5 = new JMenu("帮助");jMB.add(jMenu1);jMB.add(jMenu2);jMB.add(jMenu3);jMB.add(jMenu4);jMB.add(jMenu5);//添加菜单项JMenuItem jMenuItem1= new JMenuItem("新建");JMenuItem jMenuItem2= new JMenuItem("保存");JMenuItem jMenuItem3= new JMenuItem("打开");JMenuItem jMenuItem4= new JMenuItem("关于");JMenuItem jMenuItem5= new JMenuItem("另存为");jMenu1.add(jMenuItem1);jMenu1.add(jMenuItem2);jMenu1.add(jMenuItem3);jMenu5.add(jMenuItem4);jMenu1.add(jMenuItem5);
布局管理器
FlowLayout流式 、 BorderLayout边界, GridLayout网格
1.FlowLayout流式:
构造方法:
new FlowLayout()默认水平垂直居中
new FlowLayout(FlowLayout.RIGHT,20,40);右对齐,组件之间水平间距20个像素,垂间距40个像素。
2.BorderLayout 边界布局
JPanel jPanel = new JPanel(new BorderLayout());//边界布局
// jPanel.setLayout(new FlowLayout(FlowLayout.CENTER));//创建一个面板,流式布局,向左对齐jPanel.setBackground(Color.BLUE);JButton button1= new JButton("登录1");//创建一个按钮JButton button2= new JButton("登录2");JButton button3= new JButton("登录3");JButton button4= new JButton("登录4");JButton button5= new JButton("登录5");jPanel.add(button1,BorderLayout.NORTH);//将按钮添加到面板上jPanel.add(button2,BorderLayout.SOUTH);//将按钮添加到面板上jPanel.add(button3,BorderLayout.WEST);//将按钮添加到面板上jPanel.add(button4,BorderLayout.EAST);//将按钮添加到面板上jPanel.add(button5);//默认添加到中间
BorderLayout型布局容器尺寸缩放原则:
北、南两个区域在水平方向缩放,东、西两个区域在垂直方向缩放,中部可在两个方向上缩放。
3.GridLayout 网格布局
JPanel jPanel = new JPanel(new GridLayout(3,1));//网格式布局3行1列
组件被添加到每个单元格中,先从左到右添满一行后换行,再从上到下
当组件数目大于网格数时,GridLayout保持行数不变而自动增加列数。
Java之GUI图形界面( Swing、容器组件、 布局管理器、常用容器、常用组件)相关推荐
- 【Java AWT 图形界面编程】LayoutManager 布局管理器 ④ ( GridLayout 网格布局 | GridBagLayout 网格包布局 )
文章目录 一.GridLayout 网格布局 二.GridLayout 构造函数 三.GridLayout 网格布局代码示例 四.GridBagLayout 网格包布局 一.GridLayout 网格 ...
- java gui容器_[Java教程]GUI Panel 容器以及布局管理器
[Java教程]GUI Panel 容器以及布局管理器 0 2016-11-09 07:04:32 一.Panel是AWT中的另一个典型的容器,它代表不能独立存在.必须放在其他容器中使用. 1.可作为 ...
- wxpython界面切换_Python图形界面—wxPython库的布局管理及页面切换
原标题:Python图形界面-wxPython库的布局管理及页面切换 前言 wxPython是基于Python的跨平台GUI扩展库,对wxWidgets( C++ 编写)封装实现.GUI程序的开发中界 ...
- 【Swing 2】布局管理器与简单的登录界面
很苦逼的是,每次想记录一个小程序,发现,要给别人讲清楚,总是得分很多模块讲解. 所以今天来讲下Swing组件的三大布局管理器. 参考:<Head First Java>第十三章 1. Bo ...
- 疯狂Android讲义(二)——第二部分:第1组UI组件(布局管理器)
一.第1组UI组件:布局管理器 Android 的界面组件比较多,不利于掌握它们内在的关系.为了帮助读者更好地掌握Android界面组件的关系,本书将会把这些界面组件按照它们的关联分析,分为几组进行介 ...
- java学习(73):GUL网格布局管理器
//面向对象思想,网格管理布局器 import java.awt.*; import javax.swing.*; public class test08 extends JFrame {JButto ...
- java学习(71):GUL边界布局管理器
//面向对象思想,边界管理布局器 import java.awt.*; import javax.swing.*; public class test06 extends JFrame {JButto ...
- Android精讲--界面编程2(布局管理器)
为什么需要布局管理器 为了更好地管理Android应用的用户界面里的各种组件,Android提供了布局管理器.通过使用布局管理器,Android应用的图形用户界面具有良好的平台无关性.通常来说,推荐使 ...
- java怎么开发图形界面_Java Swing 图形界面开发简介
1. Swing简介 Swing 是 Java 为图形界面应用开发提供的一组工具包,是 Java 基础类的一部分. Swing 包含了构建图形界面(GUI)的各种组件,如: 窗口.标签.按钮.文本框等 ...
最新文章
- iOS学习笔记2-微博cell界面的实现
- java joptionpanel_JOptionPane用法--java
- 在SQL2008中清除日志
- ubuntu 编译内核并更换
- Expression Designer系列工具汇总 [转载]
- 经典 HTML5 Javascript 俄罗斯方块游戏
- 数码管显示实验一 编写程序让8只数码管同时显示零
- 传统数仓不够怎么办?不妨看看这个银行的混合数仓实践,建议收藏
- 阿里涉江:你真的会学习吗?从结构化思维说起
- 【论文学习】Densely Connected Convolutional Networks 学习
- ali arthas 火焰图_阿里巴巴 Arthas 3.1.5版本支持火焰图,快速定位应用热点
- b丅151组成的充电器电路_宜家LIVBOJ 无线充电器拆解,这设计一目了然
- c bool 类型检查_第3篇:C/C++ 检查数字类型的最高有效位(MSB)
- 包分类算法最坏情况下性能比较
- adb 静默安装_apk 静默安装
- 前端页面分辨率适配问题
- 苹果系统macos腾讯企点无法打开麦克风权限
- DevExpress 控件使用之XtraReport
- CSS3有趣的渐变色
- i5 12500H性能怎么样 相当于什么水平
热门文章
- android 加号弹出菜单,Android仿微信、qq点击右上角加号弹出操作框
- MCE | 小鼠实验
- 计算机毕业设计(29)java毕设作品之摄影图片分享网站系统
- 把一个数分解其个位,十位,百位,千位,万位 (C语言)
- 从两边往中间流水灯c语言程序,单片机控制LED流水灯从中间向两边.doc
- 开源 | 自动驾驶中基于激光雷达的车辆道路和人行道实时检测!
- Linux系统入门教程:五大图像处理软件
- Resolved [org.springframework.web.method.annotation.MethodArgumentTypeMismatchException
- php 以自动打字程序,【图片】vbs程序 表白小姐姐 自动打字!_vbs吧_百度贴吧...
- windows镜像_苹果电脑用vMware安装Windows系统