目录

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、容器组件、 布局管理器、常用容器、常用组件)相关推荐

  1. 【Java AWT 图形界面编程】LayoutManager 布局管理器 ④ ( GridLayout 网格布局 | GridBagLayout 网格包布局 )

    文章目录 一.GridLayout 网格布局 二.GridLayout 构造函数 三.GridLayout 网格布局代码示例 四.GridBagLayout 网格包布局 一.GridLayout 网格 ...

  2. java gui容器_[Java教程]GUI Panel 容器以及布局管理器

    [Java教程]GUI Panel 容器以及布局管理器 0 2016-11-09 07:04:32 一.Panel是AWT中的另一个典型的容器,它代表不能独立存在.必须放在其他容器中使用. 1.可作为 ...

  3. wxpython界面切换_Python图形界面—wxPython库的布局管理及页面切换

    原标题:Python图形界面-wxPython库的布局管理及页面切换 前言 wxPython是基于Python的跨平台GUI扩展库,对wxWidgets( C++ 编写)封装实现.GUI程序的开发中界 ...

  4. 【Swing 2】布局管理器与简单的登录界面

    很苦逼的是,每次想记录一个小程序,发现,要给别人讲清楚,总是得分很多模块讲解. 所以今天来讲下Swing组件的三大布局管理器. 参考:<Head First Java>第十三章 1. Bo ...

  5. 疯狂Android讲义(二)——第二部分:第1组UI组件(布局管理器)

    一.第1组UI组件:布局管理器 Android 的界面组件比较多,不利于掌握它们内在的关系.为了帮助读者更好地掌握Android界面组件的关系,本书将会把这些界面组件按照它们的关联分析,分为几组进行介 ...

  6. java学习(73):GUL网格布局管理器

    //面向对象思想,网格管理布局器 import java.awt.*; import javax.swing.*; public class test08 extends JFrame {JButto ...

  7. java学习(71):GUL边界布局管理器

    //面向对象思想,边界管理布局器 import java.awt.*; import javax.swing.*; public class test06 extends JFrame {JButto ...

  8. Android精讲--界面编程2(布局管理器)

    为什么需要布局管理器 为了更好地管理Android应用的用户界面里的各种组件,Android提供了布局管理器.通过使用布局管理器,Android应用的图形用户界面具有良好的平台无关性.通常来说,推荐使 ...

  9. java怎么开发图形界面_Java Swing 图形界面开发简介

    1. Swing简介 Swing 是 Java 为图形界面应用开发提供的一组工具包,是 Java 基础类的一部分. Swing 包含了构建图形界面(GUI)的各种组件,如: 窗口.标签.按钮.文本框等 ...

最新文章

  1. iOS学习笔记2-微博cell界面的实现
  2. java joptionpanel_JOptionPane用法--java
  3. 在SQL2008中清除日志
  4. ubuntu 编译内核并更换
  5. Expression Designer系列工具汇总 [转载]
  6. 经典 HTML5 Javascript 俄罗斯方块游戏
  7. 数码管显示实验一 编写程序让8只数码管同时显示零
  8. 传统数仓不够怎么办?不妨看看这个银行的混合数仓实践,建议收藏
  9. 阿里涉江:你真的会学习吗?从结构化思维说起
  10. 【论文学习】Densely Connected Convolutional Networks 学习
  11. ali arthas 火焰图_阿里巴巴 Arthas 3.1.5版本支持火焰图,快速定位应用热点
  12. b丅151组成的充电器电路_宜家LIVBOJ 无线充电器拆解,这设计一目了然
  13. c bool 类型检查_第3篇:C/C++ 检查数字类型的最高有效位(MSB)
  14. 包分类算法最坏情况下性能比较
  15. adb 静默安装_apk 静默安装
  16. 前端页面分辨率适配问题
  17. 苹果系统macos腾讯企点无法打开麦克风权限
  18. DevExpress 控件使用之XtraReport
  19. CSS3有趣的渐变色
  20. i5 12500H性能怎么样 相当于什么水平

热门文章

  1. android 加号弹出菜单,Android仿微信、qq点击右上角加号弹出操作框
  2. MCE | 小鼠实验
  3. 计算机毕业设计(29)java毕设作品之摄影图片分享网站系统
  4. 把一个数分解其个位,十位,百位,千位,万位 (C语言)
  5. 从两边往中间流水灯c语言程序,单片机控制LED流水灯从中间向两边.doc
  6. 开源 | 自动驾驶中基于激光雷达的车辆道路和人行道实时检测!
  7. Linux系统入门教程:五大图像处理软件
  8. Resolved [org.springframework.web.method.annotation.MethodArgumentTypeMismatchException
  9. php 以自动打字程序,【图片】vbs程序 表白小姐姐 自动打字!_vbs吧_百度贴吧...
  10. windows镜像_苹果电脑用vMware安装Windows系统