第18讲 java swing
- 格式:ppt
- 大小:530.50 KB
- 文档页数:27
JavaSwing介绍Swing 是⼀个为Java设计的GUI⼯具包。
Swing是JAVA基础类的⼀部分。
Swing包括了图形⽤户界⾯(GUI)器件如:⽂本框,按钮,分隔窗格和表。
Swing提供许多⽐AWT更好的屏幕显⽰元素。
它们⽤纯Java写成,所以同Java本⾝⼀样可以跨平台运⾏,这⼀点不像AWT。
它们是JFC的⼀部分。
它们⽀持可更换的⾯板和主题(各种操作系统默认的特有主题),然⽽不是真的使⽤原⽣平台提供的设备,⽽是仅仅在表⾯上模仿它们。
这意味着你可以在任意平台上使⽤JAVA⽀持的任意⾯板。
轻量级组件的缺点则是执⾏速度较慢,优点就是可以在所有平台上采⽤统⼀的⾏为。
Hello World 程序HelloWorldSwing.java ⽂件代码如下:1import javax.swing.*;2public class HelloWorldSwing {3/**{4 * 创建并显⽰GUI。
出于线程安全的考虑,5 * 这个⽅法在事件调⽤线程中调⽤。
6*/7private static void createAndShowGUI() {8// 确保⼀个漂亮的外观风格9 JFrame.setDefaultLookAndFeelDecorated(true);1011// 创建及设置窗⼝12 JFrame frame = new JFrame("HelloWorldSwing");13 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);1415// 添加 "Hello World" 标签16 JLabel label = new JLabel("Hello World");17 frame.getContentPane().add(label);1819// 显⽰窗⼝20 frame.pack();21 frame.setVisible(true);22 }2324public static void main(String[] args) {25// 显⽰应⽤ GUI26 javax.swing.SwingUtilities.invokeLater(new Runnable() {27public void run() {28 createAndShowGUI();29 }30 });31 }32 }执⾏以下命令输出结果:$ javac HelloWorldSwing.java$ java HelloWorldSwing⼀个⽤户登录框实例SwingLoginExample.java ⽂件代码如下:1import javax.swing.JButton;2import javax.swing.JFrame;3import javax.swing.JLabel;4import javax.swing.JPanel;5import javax.swing.JPasswordField;6import javax.swing.JTextField;7public class SwingLoginExample {89public static void main(String[] args) {10// 创建 JFrame 实例11 JFrame frame = new JFrame("Login Example");12// Setting the width and height of frame13 frame.setSize(350, 200);14 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);1516/* 创建⾯板,这个类似于 HTML 的 div 标签17 * 我们可以创建多个⾯板并在 JFrame 中指定位置18 * ⾯板中我们可以添加⽂本字段,按钮及其他组件。
使用Java Swing进行桌面应用程序开发Java Swing是Java编程语言的一个GUI工具包,可以用于开发漂亮的桌面应用程序。
它提供了丰富的组件和布局管理器,可以帮助开发人员快速构建用户友好的界面。
下面我们来介绍一下如何使用Java Swing进行桌面应用程序开发。
首先,我们需要创建一个Swing的主窗口。
可以通过继承JFrame类来创建一个新的窗口,然后设置窗口的标题、大小和关闭操作等属性。
在构造函数中,可以添加各种组件来构建窗口的布局。
接着,我们可以在窗口中添加各种Swing组件,如按钮、文本框、标签、复选框等,来实现用户交互。
通过设置组件的属性和监听器,可以实现各种功能,如点击按钮触发事件、输入文本获取数据等。
另外,布局管理器也是Swing开发中很重要的一部分。
Swing提供了多种布局管理器,如FlowLayout、BorderLayout、GridBagLayout 等,可以帮助我们更方便地实现窗口中组件的排列和布局。
除了基本的组件和布局管理器,Swing还提供了绘图功能和自定义组件的支持。
通过继承JComponent类,可以实现自定义的绘图和组件,以满足更复杂的需求。
最后,在完成界面设计和功能实现后,可以通过调用setVisible(true)方法来显示窗口,并运行程序。
在程序运行时,用户可以与界面进行交互,体验功能和效果。
总的来说,使用Java Swing进行桌面应用程序开发是一种简单而灵活的方式。
通过合理使用Swing提供的各种组件和功能,可以快速实现各种桌面应用程序,并提供良好的用户体验。
希望以上介绍对你有所帮助,祝你在Java Swing开发的路上顺利!。
JavaSwing图形用户界面的设计与实现方法一、引言随着计算机技术的不断发展,图形用户界面(Graphical User Interface,GUI)在软件开发中扮演着越来越重要的角色。
作为用户与软件之间的沟通桥梁,GUI的设计与实现至关重要。
本文将介绍JavaSwing图形用户界面的设计与实现方法,帮助开发人员更好地利用JavaSwing创建出功能强大、用户友好的GUI界面。
二、Swing概述JavaSwing是Java提供的一套GUI组件库,它基于Java AWT (Abstract Window Toolkit)构建而成,相对于AWT,Swing提供了更加丰富的组件和更高的灵活性。
Swing拥有独立于平台的外观,通过Java代码实现GUI界面的构建和事件处理。
使用Swing可以快速实现各种界面风格,并且易于调整和扩展。
三、Swing组件的使用1. 容器类组件:容器类组件是其他组件的父容器,对应于应用程序的窗口或面板,常用的容器类组件有JFrame、JPanel、JDialog等。
通过创建容器类组件,可以将其他组件添加到容器中并管理和布局。
2. 基本组件:基本组件是构建GUI界面的基本元素,常用的基本组件有JButton、JLabel、JTextField等。
它们可以用于实现用户输入、数据展示、按钮点击等交互操作。
3. 高级组件:高级组件是Swing提供的一些特殊功能的组件,如JTable、JTree、JFileChooser等。
它们可以用于展示表格、树状结构、文件选择等复杂的用户交互功能。
四、事件处理为了响应用户的操作,GUI界面需要进行事件处理。
在JavaSwing中,事件处理分为两个阶段:事件生成和事件响应。
当用户与界面进行交互时,会生成相应的事件,如按钮点击、鼠标移动等。
开发人员需要实现事件的监听器,并在事件发生时触发相应的操作。
五、界面布局界面布局是指组件在容器中的排列方式。
在Swing中,界面布局主要通过布局管理器(Layout Manager)实现。
深入浅出java swing程序设计-概述说明以及解释1.引言1.1 概述Java Swing是一种用于构建图形用户界面(Graphical User Interface,简称GUI)的Java库。
它为开发人员提供了丰富的组件和布局管理器,可以轻松创建具有各种功能和样式的交互式应用程序。
Java Swing的出现填补了Java原生GUI工具包的不足,为开发人员提供了更多的自定义和灵活性。
与AWT(Abstract Window Toolkit)相比,Swing提供了更多的组件和界面控件,同时具备更好的跨平台性。
Java Swing不仅仅是一个图形用户界面库,它还提供了一整套用于处理用户输入、图形绘制、多媒体展示等功能的类和工具。
开发人员可以利用这些工具快速构建具有丰富交互性的应用程序。
本文将深入浅出地介绍Java Swing程序设计的基本概念和技巧。
我们将从Swing的组件和布局开始,逐步展示如何创建简单且功能强大的用户界面。
通过学习本文,读者将能够掌握Java Swing的核心知识,并能够利用这些知识开发出符合自己需求的应用程序。
本文的目的是帮助读者快速上手Java Swing,了解其基本概念和使用方法。
同时,我们也将展望Java Swing的未来发展,探讨其在现代应用程序开发中的重要性和应用前景。
在接下来的正文部分,我们将详细介绍Java Swing的基本概念,包括组件、事件、布局等内容。
同时,我们还将给出一些实际的例子,以便读者更好地理解和应用所学知识。
总之,本文将从大纲所列的各个方面对Java Swing进行深入浅出的探讨,旨在帮助读者全面了解和掌握Java Swing程序设计的基本技巧和应用方法。
希望读者能够通过本文的学习,具备自主开发Java Swing应用程序的能力,并能在实际项目中灵活应用所学知识。
1.2 文章结构本文主要以深入浅出的方式介绍Java Swing程序设计。
文章分为引言、正文和结论三个部分,每个部分有相应的小节。
JAVA开发培训讲义(Swing入门).pptSwing初级知识的事件机制桌面应用程序展示界面所用一套组件。
与平台无关丰富的层次结构适应编写丰富用户感受的界面是我们开发软件的最主要界面表现形式Component Container JComponentJCheckBox JRadioButton JButtonWindowFrame JFrameJMenuBarJToolBarJTabbedPanelJComboBoxJLabelJProcessBarJTableJTreeJTextField类型|长宽Key | Focus | paint上层组件的基类行高|颜色|字体|布局|类最基本的事件:Mouse|Key | Focus |paintpaintComponents(Graphics g)|如果有子组件8 int Sy = (rec.height -hh)/2;9 if ( im instanceof ImageIcon ){10 ImageIcon pImage = (ImageIcon)im;g.drawImage(pImage.getImage(), Sx, Sy,ww,hh,this);14 im.paintIcon( null,g2, Sx, Sy );2 public void mousePressed(MouseEvent e);3 public void mouseReleased(MouseEvent e);4 public void mouseEntered(MouseEvent e);Listener(…)加入事件侦听JComponent.addMouseListener( Listener(…)加入事件侦听JComponent.addKeyListener()加入事件侦听它组件|显示图片套的方式实现复杂界面布局于分组组件布局1 border1 = BorderFactory.createEtchedBorder(Color.white,new Color(148, 145, 140));2 titledBorder1 = new TitledBorder(border1,"带标题的Panel");容纳更多的信息图标、标题之前标签内容”);2 CLCaption.setText(“新的标签内容”);3 CLCaption.setIcon(…);2 CEField.addCaretListener(new CaretListener() {public void caretUpdate(CaretEvent e) {如果改变了内容,就可以即时更新label 显示的内容label.setText(textField.getText());8 CEField.select(0,0);。
swing组件和容器——javaswing组件技术(中)swing 组价和容器——java swing 组件和技术(中)⼀、swing组件和容器概览1.顶层容器(JFrame,JDialog,JApplet)JFrame—框架,主要⽤来设计应⽤程序的图像界⾯JDialog—对话框,通常⽤来设计具有依赖关系的窗⼝JApplet—⼩应⽤程序,主要⽤来设计嵌⼊⽹页中运⾏的java程序2.⼀般容器普通容器(JPanel、JScrollPane、JToolbar、JSplitPane、JTabbedPane) JPanel—⾯板,通常只有背景颜⾊的普通容器JScrollPane—滚动窗格,具有滚动条JToolbar—⼯具条,通常将多个组件排成⼀排或者⼀列JSplitPane—分裂窗格,⽤来装两个组件的容器JTabbedPane—选项卡窗格,允许多个组件共享相同的界⾯空间专⽤容器(JLayeredPane、JRootPane 、JInternalFrame)JLayeredPane—分层窗格,给窗格增加了深度的概念JRootPane—根窗格,⼀般是⾃动创建的容器JInternalFrame—内部窗格,可以在⼀个窗⼝内显⽰若⼲个类似于框架的窗⼝3.基本控件(JButton、JCombobox、JList、JMenu、JSlider、JTextField)4.不可编辑信息组件(JLabel、JProgressBar、JToolTip等)5.可编辑组件(JColorChooser、JFileChooser、Jtabel、JTextArea、JTree等)⼆、常⽤的swing组件和容器1.JFrame顶层容器,默认不可见;默认布局⽅式为BorderLayout构造函数:●JFrame()●JFrame(String title)//title 为框架的标题内容JFrame常⽤⽅法●setDefaultCloseOperation(int operation)—设置关闭框架的⾏为参数operation⼀般是JFrame. EXIT_ON_CLOSE,表⽰关闭框架时,则退出程序●setSize(int width, int height)—设置框架的⼤⼩●setVisible(boolean b)—设置框架是否可见,默认为false●getContentPane()—获取顶层容器的内容⾯板●add(Component comp)—往内容⾯板添加组件●setLayout(LayoutManagermgr)—设置布局⽅式,默认为BorderLayoutexample:JDialog 和JOptionPane的demo2.JDialog 和JOptionPanea)JDialog在已有的窗⼝上创建对话框,可以使⽤此类创建⾃定义的对话框构造函数:JDialog(Dialog owner, String title, boolean modal)JDialog(Frame owner, String title, boolean modal)owner—指定对话框的⽗窗⼝title—对话框的标题modal—对话框的模式(true为“有模式对话框”,false为“⽆模式对话框”JDialog常⽤⽅法setSize(int width, int height)—设置对话框的⼤⼩getContentPane()—获取顶层容器的内容⾯板add(Component comp)—往内容⾯板添加组件setLayout(LayoutManagermgr)—设置布局⽅式,默认为BorderLayoutb)JOptionPane提供⼀些现成的、各种常⽤的标准对话框(有模式的对话框)JOptionPane类⾥静态⽅法众多,但⼏乎所有静态⽅法都遵循showXxxDialog()的形式,如下:这四种⽅法的参数都遵循⼀致的模式:①ParentComponent:指⽰对话框的⽗窗⼝对象,⼀般为当前窗⼝。
swing入门教程swing简介(2009-04-20 23:52:40)UI组件简介在开始学习Swing 之前,必须回答针对真正初学者的一个问题:什么是UI?初学者的答案是“用户界面”。
但是因为本教程的目标是要保证您不再只是个初学者,所以我们需要比这个定义更高级的定义。
所以,我再次提出这个问题:什么是UI?您可能把它定义成您按下的按钮、打字的地址栏、打开和关闭的窗口,等等,这些都是UI 的元素,但是除了在屏幕上看到的这些之外,还有更多都是UI 元素。
比如鼠标、键盘、音量、屏幕颜色、使用的字体,以及一个对象相对于另一个对象的位置,这些都包含在UI 之中。
实际上,在计算机和用户的交互之中扮演角色的任何对象都是UI 的组成部分。
这看起来足够简单,但是您应当惊讶的是,有许多人和大型公司已经为它努力了很多年。
实际上,现在有的大学专业的惟一课程就是研究这种交互。
Swing的角色Swing 是Java 平台的UI ——它充当处理用户和计算机之间全部交互的软件。
它实际上充当用户和计算机内部之间的中间人。
Swing 到底是如何做这项工作的呢?它提供了处理前面一节中描述的UI 各方面内容的机制:∙键盘:Swing 提供了捕捉用户输入的方法。
∙颜色:Swing 提供改变在屏幕上看到的颜色的方法。
∙打字的地址栏:Swing 提供了文本组件,处理所有普通任务。
音量:Swing 不太擅长。
无论如何,Swing 为您提供了创建自己的UI 所需要的所有工具MVCSwing 甚至走得更远一步,在基本的UI 原则之上又放上了一个公共的设计模式。
这个设计模式叫做模型-视图-控制器(Model-View-Controller,MVC),它试图“把角色分开”。
MVC 让负责显示的代码、处理数据的代码、对交互进行响应并驱动变化的代码彼此分离。
有点迷惑?如果我为这个设计模式提供一个现实世界的非技术性示例,它就比较容易了。
请想像一次时装秀。
JavaSwing使⽤总结(转载)随笔转载⾃:地址:1. GUI编程引⾔以前的学习当中,我们都使⽤的是命令交互⽅式: 例如:在DOS命令⾏中通过javac java命令启动程序.软件的交互的⽅式: 1. 命令交互⽅式 图书管理系统 2. 图形交互⽅式 ava提供了专业的API⽤于开发图形⽤户界⾯ GUI--> Graphic User Interface 将要了解GUI API的框架结构,以及GUI组件以及组件之间的关系,容器和布局管理器,颜⾊,字体等.2. GUI的分类2.1. AWT Java1.0版本的图形⽤户界⾯库,设计⽬标是帮助程序员编写在所有平台上都能良好表现的GUI程序。
为了实现这个⽬标Java1.0提供了抽象窗⼝⼯具集(AWT),但是这个⽬标并没有达到。
AWT在所有的系统上表现都不好。
因为:最初版本的AWT是在⼀个⽉内构思,设计和实现的(Think in Java )。
Abstract Window Toolkit 抽象窗⼝⼯具集 Java将图形⽤户界⾯相关的类捆绑在了⼀起,放在了⼀个称之为抽象窗⼝⼯具集的库中.AWT适合开发简单的图形⽤户界⾯,并不适合开发复杂的GUI项⽬. 位于: java.awt.* 中,定义了很多的组件类,开发者可以直接创建对象加以使⽤ 缺点: 所有的图形界⾯都依赖于底层的操作系统,容易发⽣于特定平台相关的故障. AWT调⽤本地系统资源⽣成图形化界⾯, 依赖本地平台. 1.02.2. SwingSUN公司对AWT进⾏了升级,基于AWT,推出了⼀种更稳定,更通⽤和更灵活的库.称之为Swing组件库(Swing component)。
既然都是⽤于GUI设计的组件库,那么为了区分Swing组件类和对应的AWT组件类,Swing组件类都已字母J为前缀.位于:javax.swing.* 中,提供了和AWT中等同的所有的组件类,但是类名的前⾯多加了⼀个J.SWING可以跨平台. 1.2我们主要学习Swing GUI组件.3. Java GUI APIGUI API包含的类分为三个部分:组件类(component class) 容器类(container class),和辅助类(helper class)1. 组件类是⽤来创建⽤户图形界⾯的,例如JButton,JLabel,JTextField.2. 容器类是⽤来包含其他组件的,例如JFrame,JPanel3. 辅助类是⽤来⽀持GUI组件的,例如Color,Font3.1. 组件类在图形⽤户界⾯程序中当我们想要创建按钮、复选框和滚动条等这些可以显⽰在屏幕上的对象,该如何创建。
Java Swing概述Swing具有更丰富而且更加方便的用户界面元素集合,Swing对于底层平台的依赖更少。
在Swing中,开发了一个经过仔细设计的、灵活而强大的GUI工具包。
1 什么是Swing在1995年,Java第一次发布的时候,它包含了一个叫AWT(Abstract Windowing Toolkit)的库,用来构建图形用户界面应用程序。
AWT是一个非常简单的具有有限GUI(Graphics User Interface,即图形用户界面)组件、布局管理器和事件的工具包。
最终不幸是,有些经常使用的组件,如表、树、进度条等都不支持。
对于需要更多组件类型的应用程序来说,用户需要从头开始创建这些组件,造成开发很大的负担。
由于AWT自身的不足,后来于1997年,在JavaOne大会上提出并在1998年发布了JFC(Java Foundation Classes)中包含了一个新GUI组件,即Swing。
Swing将对主机控件的依赖性降至了最低,只为诸如窗口和框架之类的顶层控件使用对等体。
大部分控件(JComponent及其子类)都是使用纯Java代码来模拟的。
这意味着Swing就可以在主机之间很好地进行移植。
Swing组件超越了简单的窗口部件,它体现了正不断出现的设计模式以及一些最佳实践。
采用Swing,不仅仅得到GUI窗口部件的句柄和它所包含的数据,而是定义一个模型去保存数据,定义一个视图去显示数据,定义一个控制器去响应用户输入。
事实上,大部分Swing组件的构建是基于MVC(Model-View-Controller)模式的。
MVC使应用程序开发变得更清晰,更易维护和管理。
但是,Swing无法充分利用硬件GUI加速器和专用主机GUI操作等优势,所以在开发的应用程序上,可能比本地GUI的程序运行速度都慢。
后来,Sun公司花费大量的精力来改进其性能。
除了具有更多的组件、布局管理器和事件之外,Swing还有很多特性使得自己比AWT的功能更加强大。
java中swing的用法Swing是Java中的一种GUI(图形用户界面)工具包,它是基于AWT(抽象窗口工具箱)开发的。
和AWT不同的是,Swing使用了Java 2D API来实现自己的用户界面元素,这使得Swing的外观和感觉更加现代化,更加灵活。
2. Swing的优点Swing的优点主要有以下几点:- 跨平台性:Swing是基于Java开发的,因此可以在任何支持Java的平台上运行,如Windows、Linux、Unix等。
- 灵活性:Swing提供了丰富的组件,开发者可以通过组合不同的组件来创建非常复杂的用户界面。
- 动态性:Swing提供了一些动画和效果来增强用户体验。
- 可定制性:Swing的外观和感觉可以通过使用不同的Look and Feel来改变,而这些Look and Feel可以在运行时动态地切换。
- 易学易用:Swing的API设计合理,很容易学习和使用。
3. Swing的组件Swing提供了很多组件,下面列举了一些常用的组件:- JLabel:标签组件,用于显示文本或图像。
- JButton:按钮组件,用于触发事件。
- JTextField:文本框组件,用于输入文本。
- JPasswordField:密码框组件,用于输入密码。
- JTextArea:文本域组件,用于显示多行文本。
- JList:列表组件,用于显示列表数据。
- JTable:表格组件,用于显示表格数据。
- JComboBox:下拉列表组件,用于选择一个选项。
- JCheckBox:复选框组件,用于选择多个选项中的一个或多个。
- JRadioButton:单选按钮组件,用于选择一个选项。
4. Swing的布局管理器在Swing中,布局管理器用于控制组件的排列。
Swing提供了多种布局管理器,下面列举了一些常用的布局管理器:- BorderLayout:边框布局管理器,将容器分成5个区域:北、南、东、西、中。