1.GUI概述

目前,我们编写的程序都是基于控制台的程序GUI(Graphical User Interface)即图形用户界面,它能够使应用程序看上去更加友好

2.Swing概念

位于javax.swingSwing是纯java组件,使得应用在不同平台中有相同的外观和行为

3.什么是组件,容器?

java的图形用户界面的基本组成是组件,组件是一个以图形化的方式显示在屏幕上,并且能和用户进行交互的对象,组件不能单独的显示出来,所以必须放在一定的容器(container)中,才可以显示出来,容器可以添加多个组件,可以通过调用容器的add()方法,向容器中添加不同的组件

4.组件的分类:

窗口(Frame)和面板(Panel)称为容器组件,文本输入框(JTextField),按钮(Button)称为功能组件

5.图形用户界面的编程步骤:

我们在创建一个图形用户界面时首先要创建一个窗口,通常使用 JFrame在Swing程序中创建一个窗口,在窗口中可以添加面板,通常使用 Jpanel在已经创建好的窗口中再创建面板,一个窗户口中可以创建多个面板,在面板中可以添加不同的组件,也可以设置布局,我们一般使用嵌套的方式来实现布局

创建一个窗口的演示,及常用方法:

public JFrameDemo1(){this.setSize(500,300);   //设置窗口的大小this.setLocationRelativeTo(null);  //设置窗口居中显示this.setTitle("登录界面");   //设置窗口标题this.setIconImage(new ImageIcon("qq微信图片_202131231028.jpg").getImage());   //设置窗口图标,需要将图片直接复制到项目下面,不能放在包中}
public static void main(String[] args) {JFrame jFrame = new JFrameDemo1();   //使用JFrame创建一个窗口对象
}

6.布局管理器

FlowLayout(流式布局)

BorderLayout(边界布局)

GridLayout(网格布局)

GridBagLayout

 

Java GUI常用组件介绍

JLable(标签) //用来显示文字或图片
JPanel jp = new JPanel();

JtextField(文本框) //用来输入文字
JTextField accountText = new JTextField(20);
jp.add(accountText);

JPasswordField(密码框) //用来输入密码
JLabel passwordLabel = new JLabel(“密码”);
passwordLabel.setFont(new Font(“宋体”,Font.BOLD,20));
jp.add(passwordLabel);
JPasswordField jPasswordField = new JPasswordField(20);
jp.add(jPasswordField);

JTextArea(多行文本框) /用来输入多行文字
JTextArea jTextArea = new JTextArea(5,20);
//滚动面板,可出现滚动条,使多行文本框大小不发生变化
JScrollPane jScrollPane = new JScrollPane(jTextArea);
jp.add(jScrollPane);

JMenuBar(菜单栏) //用来创建一个菜单栏
JMenuBar jMenuBar = new JMenuBar();
JMenu(菜单) //用来创建一个菜单
JMenu jMenu1 = new JMenu(“文件”);
JMenu jMenu2 = new JMenu(“编辑”);
jMenuBar.add(jMenu1);
jMenuBar.add(jMenu2);
JMenuItem(菜单项) //用来创建菜单项
JMenuItem jMenuItem = new JMenuItem(“新建”);
jMenu1.add(jMenuItem);

Java GUI事件处理

到目前为止我们编写的只是图形用户界面,并没有特殊的功能,想要实现一定的功能必须进行事件处理
当用户与GUI组件进行交互,就会产生事件,比如: 按下一个按钮,点击鼠标等
一.事件处理思路:
一个源(事件源)产生一个事件(事件对象)并把它送到监听器那里,监听器只是简单地等待,直到它收到一个事件,一旦事件被接受,监听器将处理这些事件

一个事件源必须注册监听器以便监听器可以接受关于一个特定事件的通知

二.常用事件处理方式:

jButton1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String account = jButton1.getText();
String password = new String(jPasswordField.getPassword());
System.out.println(account);
System.out.println(password);
}
});

为鼠标添加事件监听
//添加鼠标事件:

jButton1.addMouseListener(new MouseAdapter() { //Adapter为适配器你,使用此方法,可以自己选择需要重写的事件类型,而不需要重写全部的方法
@Overridepublic void mouseClicked(MouseEvent e) {System.out.println(“鼠标点击”);}@Overridepublic void mousePressed(MouseEvent e) {System.out.println("鼠标按下");}@Overridepublic void mouseReleased(MouseEvent e) {System.out.println("鼠标释放");}@Overridepublic void mouseEntered(MouseEvent e) {System.out.println("鼠标移入");}@Overridepublic void mouseExited(MouseEvent e) {System.out.println("鼠标移出");}});

为键盘添加事件监听
//添加键盘事件

jTextField.addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent e) {
System.out.println(“键盘输入”+e.getKeyCode());
}@Overridepublic void keyPressed(KeyEvent e) {System.out.println("键盘按下");}@Overridepublic void keyReleased(KeyEvent e) {System.out.println("键盘释放");}});

为重置按钮添加事件监听
//为重置按钮添加事件监听

jButton2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
jTextField.setText(“”);
jPasswordField.setText(“”);
}
})

JAVA GUI(图形用户界面)相关推荐

  1. Java | GUI 图形用户界面

    一.什么是GUI GUI 全称 Graphical User Interface 图形用户界面,指采用图形方式显示的计算机操作用户界面. 软件以图形界面形式运行时,用户可借助于菜单.按钮.标签等组件和 ...

  2. Java GUI(图形用户界面)概述

    1.GUI概述 目前,我们编写的程序都是基于控制台的程序 GUI(Graphical User Interface)即图形用户界面,它能够使应用程序看上去更加友好 2.Swing概念 位于javax. ...

  3. Java——GUI(图形用户界面设计)

    事件处理:事件:用户的一个操作(例如:点击一下鼠标,或者敲击一下键盘)事件源:被操作的组件(例如:在一个窗体中的一个按钮,那个按钮就属于被操作的组件,按钮就是事件源)监听器:一个自定义的对象,实现了监 ...

  4. Java GUI(图形用户界面)-----GridLayout(网格布局管理器)详解

    GridLayout(网格布局管理器) 可以把容器分成n行m列大小相等的网格,每个网格放置一个组件,按照从左往右,从上往下的顺序依次添加,放置在Gird Layout布局管理器的组件将自动占据网格的整 ...

  5. java界面 ppt_Java GUI图形用户界面 课件.ppt

    Java GUI图形用户界面 课件 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ...

  6. java图形用户界面控件介绍,GUI(图形用户界面)详解

    一.GUI(图形用户界面) GUI Graphical User Interface(图形用户接口) 用图形的方式,来显示计算机操作的界面,这样更方便更直观 CLI Command line User ...

  7. 第七节 GUI 图形用户界面

    第七节 GUI 图形用户界面 1. Swing 概述 2. 顶级容器 2.1 JFrame容器 2.2 JDialog容器 3. 布局管理器 3.1 BorderLayout(边界布局管理器) 3.2 ...

  8. python编程基础:python 实现GUI(图形用户界面)编程详解

    今天小编就为大家分享一篇python 实现GUI(图形用户界面)编程详解,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 Python支持多种图形界面的第三方库,包括: wxWidge ...

  9. Py之GUI:Python下各种GUI(图形用户界面)简介、使用优缺点对比

    Py之GUI:Python下各种GUI(图形用户界面)简介.使用优缺点对比 目录 GUI Python下各种GUI简介.使用优缺点对比 Python下各种GUI更多官权威介绍 GUI 图形用户界面(G ...

最新文章

  1. Tomcat异常退出
  2. SpringBoot mybatis 输出SQL语句到控制台
  3. python自学argparse模块
  4. 计算机导论成绩分为几部分,计算机导论复习题(选择部分)汇总.docx
  5. JS编程建议——8:谨慎使用运算符(3)
  6. Spring Boot——MyBatis配置带下划线命名的字段自动转换驼峰命名解决方案
  7. boost::remove_vertex用法的测试程序
  8. 如何把word文档转换成markdown格式
  9. dell服务器硬盘驱动器,DELL服务器WindowsServer2018系统安装-解决找不到安装在计算机的上地硬盘驱动器安装无法继续,要退出请按F3.doc...
  10. 程序一直吐司提示获取缓存记录失败以及吐司显示set Alias success
  11. java分页的方法_java实现的分页方法(上一页下一页)
  12. 用单片机测量流体流速的_基于LMS算法的流体流速测量系统
  13. 360安全浏览器强制使用极速模式打开
  14. brew upgrade出现It seems there is already an App at的解决方法
  15. 魅族 系统更新服务器,Flyme
  16. 替代SSD?Crossbar进军中国存储市场
  17. 机器学习-周志华总结
  18. 目标管理之SMART原则
  19. MySQL索引优化是什么意思?底层原理是什么?
  20. 【动态规划dp】青蛙的烦恼(frog)

热门文章

  1. 【阅读笔记】Towards Personalized Federated Learning个性化联邦综述
  2. 四川省着力打造三位一体服务平台,精准服务保障农民工
  3. 如何免费开通蚂蚁金服开放平台系统服务商ISV查看PID
  4. 霍金门徒:计算机如何比人更懂世界
  5. 程序员公司实行996,加班费却只有10块!网友:我们20块
  6. 算法的时间复杂度详解
  7. cmd窗口的内容加上颜色
  8. 博主已出版的全部译作汇总
  9. 水文计算机国外ei期刊,水文水利类相关SCI、EI期刊(包括SCI分区)
  10. 微信公众号的二维码怎么生成