javaGUI编程汇总
- 格式:ppt
- 大小:2.64 MB
- 文档页数:25
Java的GUI编程一、介绍Java是一种广泛使用的编程语言,具有跨平台性和面向对象的特点。
GUI (Graphical User Interface)编程是指通过图形化界面与用户进行交互的编程方式。
Java提供了丰富的GUI编程工具和库,使开发人员能够轻松地创建各种图形化界面应用程序。
二、SwingSwing是Java中最常用的GUI编程框架之一。
它提供了一套丰富的组件,如按钮、文本框、标签等,以及容器组件,如面板、框架等。
开发人员可以使用Swing 来构建各种复杂的图形化界面应用程序。
在Swing中,每个组件都有自己的属性和方法,可以通过设置和调用这些属性和方法来实现不同的功能。
例如,可以通过设置按钮的文本、颜色和事件处理程序来创建一个可点击的按钮。
Swing还支持布局管理器,用于自动调整组件的位置和大小。
常用的布局管理器有FlowLayout、BorderLayout和GridLayout等。
开发人员可以根据需求选择合适的布局管理器来实现自己想要的界面布局。
三、JavaFXJavaFX是Java中另一个重要的GUI编程框架。
与Swing相比,JavaFX提供了更加现代化和强大的功能。
它使用了一种基于XML的标记语言FXML来描述界面,使得界面设计和开发更加灵活和易于维护。
JavaFX提供了丰富的内置组件,并且支持自定义组件的开发。
它还支持动画效果、图形渲染和多媒体处理等高级功能。
开发人员可以利用这些功能创建出更加精美和交互性强的界面应用程序。
JavaFX还提供了场景图(Scene Graph)的概念,用于管理界面上的所有组件和布局。
开发人员可以通过添加和删除组件、设置组件的属性和监听用户事件来实现界面的交互和动态更新。
四、AWTAWT(Abstract Window Toolkit)是Java最早的GUI编程框架,它提供了一套与操作系统窗口系统交互的接口。
AWT的组件和布局管理器是基于操作系统的原生界面,因此在不同的操作系统上可能会有不同的外观和行为。
javagui知识点总结一、Swing GUI组件Swing是Java中用于创建GUI的一套组件库,它提供了丰富的GUI组件,包括按钮、文本框、标签、列表框、表格等等。
这些组件可以通过代码进行创建、配置和操作,从而构建出丰富多彩的用户界面。
Swing组件还支持丰富的外观和行为定制,可以通过设置各种属性和监听器来满足不同的需求。
1.1 按钮(Button)按钮是Swing中最基本的GUI组件之一,它通常用于触发某个操作或事件。
在Swing中,按钮可以通过JButton类来创建,可以设置按钮的文本、图标、颜色、大小、位置等属性,并为按钮添加各种监听器来处理用户的点击事件。
1.2 文本框(TextField)文本框用于接受用户的输入,可以通过JTextField类来创建,可以设置文本框的默认文本、颜色、大小、位置等属性,并通过添加文本变化监听器来实时监测用户的输入。
1.3 标签(Label)标签用于显示静态文本信息,可以通过JLabel类来创建,可以设置标签的文本、字体、颜色、大小、位置等属性,还可以通过添加鼠标事件监听器来实现交互式标签。
1.4 列表框(ListBox)列表框用于显示一组选项供用户选择,可以通过JList类来创建,可以设置列表框的选项、颜色、大小、位置等属性,并为列表框添加选择事件监听器来处理用户的选项选择。
1.5 表格(Table)表格用于显示和编辑二维数据,可以通过JTable类来创建,可以设置表格的数据模型、列模型、传输器、颜色、大小、位置等属性,并为表格添加各种监听器来处理表格的编辑和选择事件。
二、事件处理在Java GUI编程中,事件处理是至关重要的一部分,它用于实现用户界面和用户交互的逻辑。
Swing组件提供了丰富的事件类型,包括鼠标事件、键盘事件、焦点事件、窗口事件等等,开发人员可以通过添加事件监听器来处理这些事件,从而实现用户交互的各种效果。
2.1 事件监听器(EventListener)事件监听器是一种特殊的接口,用于监听和处理特定类型的事件。
java的gui编程⽰例对话框package com.sly.uploadfile.base;import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.io.Serializable;/*** Created by admin on 2020/6/27.*/public class MainFrame extends JFrame implements ActionListener, Serializable {public static void main(String[] args) {MainFrame mainFrame = new MainFrame();}private static final long serialVersionUID = 6126254268960773408L;private TextArea textArea;private JButton btnOK;private JButton btnCancel;private JMenuItem miOpen;private JMenuItem miExit;public MainFrame() {initFrame();this.setVisible(true);}/*** 初始化布局*/private void initFrame() {// 标题this.setTitle("主窗⼝");// 边界this.setBounds(100, 100, 850, 700);// 绝对布局this.setLayout(null);Font font = new Font("微软雅⿊", Font.PLAIN, 15);// 将⽂本域添加到滚动⾯板中textArea = new TextArea();textArea.setFont(font);// 滚动⾯板JScrollPane pane = new JScrollPane(textArea);pane.setBounds(0, 0, 800, 500);this.add(pane);btnOK = new JButton("保存");btnOK.setBounds(600, 510, 100, 50);btnOK.setFont(font);btnOK.addActionListener(this);this.add(btnOK);btnCancel = new JButton("取消");btnCancel.setBounds(710, 510, 100, 50);btnCancel.setFont(font);btnCancel.addActionListener(this);this.add(btnCancel);// 添加窗⼝事件处理程序,使⽤适配器this.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {System.exit(-1);}});// 添加菜单栏JMenuBar menuBar = new JMenuBar();// 添加菜单JMenu menu = new JMenu("⽂件");miOpen = new JMenuItem("打开");miOpen.addActionListener(this);// 添加菜单项menu.add(miOpen);//分隔符menu.addSeparator();miExit = new JMenuItem("推出");miExit.addActionListener(this);menu.add(miExit);menuBar.add(menu);this.setJMenuBar(menuBar);}public void actionPerformed(ActionEvent e) {Object es = e.getSource();// 保存⽂件if (es == btnOK) {try {// 打开保存对话框,定位保存⽂件的位置FileDialog d = new FileDialog(this, "保存", FileDialog.SAVE);d.setVisible(true);File f = new File(d.getDirectory(), d.getFile());String str = textArea.getText();FileWriter writer = new FileWriter(f);writer.write(str);writer.close();textArea.setText(null);} catch (Exception e1) {e1.printStackTrace();}} else if (es == btnCancel) {// 取消this.dispose();} else if (es == miOpen) {// 是否是菜单项FileDialog d = new FileDialog(this, "打开", FileDialog.LOAD);d.setVisible(true);String dir = d.getDirectory();String f = d.getFile();if (dir != null && f != null) {try {textArea.setText(null);FileReader reader = new FileReader(new File(dir, f));char[] buffer = new char[1024];int len = -1;while ((len = reader.read(buffer)) != -1) {textArea.setText(textArea.getText() + new String(buffer, 0, len)); }reader.close();} catch (Exception e1) {e1.printStackTrace();}}} else if (es == miExit) {// 退出System.exit(-1);}}}。
Java语⾔中的GUI总结⼀、GUI 1、GUI的概念 GUI(Graphical User Interface)即图形⽤户界⾯,它能够使应⽤程序看上去更加友好。
2、AWT、Swing以及SWT AWT(Abstract Windows Toolkit)是Java语⾔中最原始的GUI⼯具包,相关API位于java.awt包中。
AWT是⼀个⾮常有限的GUI⼯具包,⽐如树、表格等都不⽀持; 然⽽AWT却⽆法实现。
AWT运⾏时,每个组件都要依赖于当前平台的GUI对等体(peer)控件,因此,AWT GUI 的外观和⾏为就会依赖当前平台。
3、java.awt包 java.awt包是Java内置的包,属于Java基础类库(JFC)的⼀部分,其中包括以下内容; 便于⽤户输⼊的⼀组丰富的界⾯组件; 将组件放置在适当位置的⼏种布局管理器; 事件处理模型; 图形和图像⼯具等等。
4、常⽤的基本Swing组件 在Swing编程中,有⼀些经常要使⽤到的组件,其中包括: JFrame(窗体,框架)、JPanel(⾯板,容器)、JButton(按钮)、JLabel(标签)、JTextField(⽂本框)、JTextArea(⽂本域)。
5、创建GUI的步骤总结 分析GUI中需要使⽤的组件; 将GUI分成⼏个部分,每个部分使⽤JPanel布局。
每个JPanel可以根据情况使⽤不同的布局管理器; 将多个JPanel布局到⼀个JFrame上。
⼆、Swing事件监听快速⼊门 1、事件处理 对于采⽤了图形⽤户界⾯的程序来说,事件控制是⾮常重要的; 到⽬前为⽌,我们编写的图形⽤户界⾯程序都仅仅只是完成了界⾯,⽽没有任何实际的功能,要实现相应的功能,必须进⾏事件处理; ⽤户与GUI组件进⾏交互就会发⽣事件,如:按下⼀个按钮、⽤键盘输⼊⼀个字符、点击⿏标等等; 当前我们要关注的并不是“事件是如何产⽣的”,⽽是讨论当发⽣事件后,我们应当“如何处理之”。
第7章 Java中的GUI编程图形用户界面(Graphical User Interface,GUI)使用图形的方式,借助菜单、按钮等标准界面元素和鼠标操作,帮助用户方便地向计算机系统发送指令,启动操作,并将系统运行的结果同样以图形方式显示给用户。
图形用户界面操作简单,省去了字符界面用户必须记忆各种命令的麻烦,深受广大用户的喜爱和欢迎。
所以学习设计和开发图形用户界面,是应用软件开发人员的必修课。
本章主要介绍Swing和AWT中基本组件的用法,如何创建简单的用户界面,包括布局管理、用户事件,以及如何创建复杂的用户界面等。
●图形用户界面概述●创建简单的用户界面●布局管理●用户界面●创建复杂的用户界面7.1 图形用户界面概述GUI由若干GUI组件(Component)组成,GUI组件是可见的对象,用户可以通过鼠标或键盘对它进行操作,通过对不同事件的响应,来完成组件与用户之间或组件与组件之间的交互。
用户界面设计在程序设计中有较大的比重,在较为复杂的Java应用程序中,用户界面设计是不可缺少的。
Java-AWT——抽象窗口工具箱就是专门是了解和掌握UI的各主要构件以及布局管理器。
Java基类(Java Foundation Classes,JFC)是关于GUI组件和服务的完整集合,它大大简化了健壮的Java应用程序的开发和布署。
JFC作为Java2SDK的一个组成部分,主要由5个API构成:AWT、Swing、Java 2D、Drag and Drop、Accessibility,如图7.1所示。
AWT组件库为各类Java应用程序提供了多种GUI工具。
Swing提供了一整套用Java语言编写的GUI组件,以保证可移植性。
Java 2D是一种图形API,它为Java应用程序提供了高级的二维(2D)图形图像处理类的集合。
同时,该API还包含了一套扩展字体集合。
Drag and Drop技术提供了Java和本地应用程序之间的互用性,用来在Java应用程序和不支持Java技术的应用程序之间交换数据。