初学JAVA GUI
学习心得:
初学JAVA GUI
单元一学习概述:
简单清晰的介绍了使用Java GUI创建桌面程序,从设置开发环境、创建项目、了解From窗口控件到使用事件处理From窗口交互功能。
一、环境设置:
使用Java GUI要先配置环境设置,来确保Java GUI的使用。最主要有Java Development Kit(JDK)和Integrated Development Environment(IDE)编辑器。
JDK:
1、JDK为程序员提供软件包
2、JDK构建Java应用程序的关键平台组件
3、JDK附带JAVA的运行环境(JRE)
4、由JAVA虚拟机(JVM)和生产环境中提供的所有库组成
Java Virtual Machine(JVM) |
执行代码的Java平台组件 |
Java Runtime Environment (JRE) |
Java中创建JVM的磁盘部分 |
Java Development Kit (JDK) |
允许开发人员创建将由JVM和JRE执行和运行的Java应用程序的工具 |
IDE编辑器是开发人员用来编写代码的开发工具。类似于文本编辑器,开发人员在其中编写和编辑代码。有许多IDE编辑器通常被Java使用开发人员可以创建其他应用程序,如Visual Studio Code、Eclipse、notepad++、NetBeans等。本次使用NetBeans作为IDE编辑器。
安装JDK:
从Oracle官方网站下载网址:
https://www.oracle.com/cn/java/technologies/javase-downloads.html
我们可以选择基于想要的版本并下载JDK或Java SE。只需选择要使用的Java版本。我选择最新版本的JDK是Java SE 16,单击下载即可。
1、选择下载版本
2、确认接受许可协议
(注:不用登录Oracle账号,就可以价值JDK)
3、配置window环境变量
(1)右键此电脑,选择属性
(2)选择高级系统变量
(3)选择环境变量
(4)点击Path、更改JDK的路径变量
(5)寻找java的路径到16.0,1的bin下
(6)复制路径,粘贴至
(7)确认设置,重启电脑,生效环境变量
(8)cmd中查询环境变量是否生效
二、安装IDE
本人使用Apache NetBeans 11.0作为(集成开发环境)IDE来构建所有的Java GUI应用程序。Apache NetBeans不仅是文本编辑器,还提供了编辑器、向导和许多实用程序,帮助开发人员用Java、PHP和许多其他语言构建应用程序。
1、下载安装IDE
(1)、可以通过官方下载网站或者国内清华的镜像站点下载
Apache NetBeans:https://netbeans.apache.org/download/index.html
(2)、选择下载最新版本的12.4
(3)、选择window x64下载
(4)、下载安装完成后找到exe执行安装文件,为安装路径的目录的netbeans\bin
(5)、安装完成后即可运行IDE
2、设置NetBeans中国区的镜像
NetBeans使用了Maven来管理项目的各种依赖包,默认外服下载,下载速度慢。设置从国内服务器下载各种依赖包:
(1)、选择安装路径下的netbeans\java\maven\conf目录下的Settings.xml文件
(2)、找到</mirrors>,不是</mirror>,要注意要s的。在</mirrors>前面复制粘贴代码
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>apachemaven</id>
<name>apache org</name>
<url>http://repo.maven.apache.org/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>apachemaven</id>
<name>maven org</name>
<url>http://mvnrepository.com/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>apachemaven</id>
<name>repo1 org</name>
<url>http://repo1.maven.org/maven2/ </url>
<mirrorOf>central</mirrorOf>
</mirror>
(3)、添加并保存,添加后效果如下
3、激活Java SE特性
在运行NetBeans 集成开发环境(IDE)之后,需要激活Java SE特性,以便能够创建Java 应用项目。
(1)、选择菜单栏中的Tools→Plugins命令
(2)、选择Installed选项卡,并检查Java SE特性
(3)、单击Activate按钮激活该功能
要激活这些特性,必须确保互联网已连接,这样IDE才能下载这些特性。必须确保连接是良好的,以防止下载过程失败。下载完成并激活Java SE之后,就可以开始创建Java应用程序了。
任务1创建你的第一个工程
环境设置完成后,现在可以创建第一个Java GUI应用程序。在本教材中,使用“→”作为符号从选项中选择菜单项。例如如图所示,File→New Project,这意味着从File菜单,然后选择New Project子菜单。要使用NetBeans创建你的第一个项目,可以从IDE中选择File→New Project。
当选择File→New Project时,将看到一个新项目对话框。
在图中所示的New Project窗口中,Categories部分选择Java with Maven→Java Application。然后,单击“Next”按钮,用户将看到一个New Java Application对话框如图:
New Java Application对话框将要求用户确定项目名称(Project Name)及其项目文件存放位置(Project Location)。在本例中,项目名称为HelloJava;存放位置按照自己的意愿指定,如图所示。完成所有工作后,只需单击“Finish”按钮来结束项目制作过程。
创建项目之后,下一步是通过右击HelloJava→New→JFrame Form菜单命令来创建GUI应用程序(Form窗口应用程序),如图所示。
在图中,需要确定Form窗口的类名。在本例中,创建的类名为HelloJavaForm。然后,还需要确定创建JFrame Form类的包的名称。Package下拉菜单中选择 “com.mycompany.hellojava”,若之前的步骤项目名不是“HelloJava”,则下拉菜单里面的内容和本文不一样,没关系,直接选择就是了。设置好一切后,选择“Finish”按钮结束步骤,将出现以下显示。
图中是已经添加到HelloJava项目的HelloJavaForm视图。在HelloJavaForm的设计部分中,正方形框表示已创建的Form窗口。
创建Form窗口之后,需要考虑两个部分,用户需要知道,它们是Design(设计)和Source(源代码)部分。两个部分位于创建的Form窗口的上方,如上图所示。Design部分用于设计Form窗口的外观,而Source部分用于查看已创建的类(在本例中是HelloJavaForm类)中的代码。通过单击这两个部分中的一个,用户就可以从一个部分切换到另一个部分。
要向Form窗口添加属性或控件,Java提供了一个包含窗体控件的选项板(工具箱)。此外,还有属性部分,用于设置控件的属性。在这种情况下,用户将学习如何通过添加Label控件来操作Form窗口。
1. 属性窗口
属性窗口(Properties Window)是包含在面板中的窗体或控件的一部分,用于设置窗体或控件的属性。要显示“属性窗口”可以右击特定的窗体或控件,然后选择“Properties”。另外,要显示属性窗口也可以通过选择菜单Windows→IDE Tools→Properties来实现。
如图所示是HelloJavaForm的属性窗口。在这些窗口中,可以设置窗口的标题、窗口的大小和其他各种属性。例如,在本例中,将使用“欢迎来到Java GUI的世界”设置Form窗口的标题。为此,在Form窗口的Properties窗口中选择title,然后填写所需的文本,如图所示。
图中给出窗口标题设置的过程。“Properties”窗口中的“title”部分是为窗口填写标题的位置。要查看更改的效果,可以通过选择菜单Run→Run Project或按F6键来运行程序。但是,在运行之前,建议程序员通过选择“Run→Built Project”菜单来构建程序。这是为了确保在创建的程序中没有错误。下面是运行后的应用程序显示,如图所示。
上图显示了运行后的应用程序。从图中可以看出,Form窗口标题根据Properties窗口的指定进行了更改。
2. 面板编辑器
面板编辑器(Palette Editor)包含用于修改窗体外观的控件图标。面板编辑器中包含的控件分为几个类别,即Swing Containers、Swing Controls、Swing Menus、Swing Windows、Swing Fillers、AWT、Beans和Java Presistencn。分组是基于每个控件的使用。
上图显示了在面板编辑器中找到的控件,当创建GUI应用程序来使用这些控件时,用户可以简单地单击和拖动想要使用的控件,并将它们放到Form窗口上。与一开始就通过输入代码来实现自己的控制相比,这当然非常简单。在本例中,将尝试向HelloJavaFormForm窗口添加一个Label控件。它位于Swing Controls 类别中,该类别通常用于在GUI应用程序中显示字符串和图像。
如上图所示,从面板编辑器中拖动Label控件后,下一步是替换Label上的文本。为此,用户可以右击Label,然后选择Edit Text。此外,还可以通过Label控件的Proprties窗口替换它,然后在text部分中输入所需的文本。
在图的Properties窗口中,可以看到Label控件拥有的属性。用户可以设置背景颜色、背景颜色、文本、文本字体、文本对齐,等等。要设置标签的字体,可以在“Properties”窗口中选择“font”部分。
从图中可以看出,Label使用“华文楷体”字体,字体样式为Bold,字体大小为18。设置完字体后用鼠标拖动Label周围的小正方形来调整Label的大小,使所有的字在Label中都可见
任务2 向窗体添加控件
Java中的GUI编程涉及几个用于修改窗口外观的控件,如前一节所述,这些控件位于Palette面板编辑器窗口中。在前面的案例中,向JFrame Form添加了一个Label控件。这里有许多关于JFrame Form的基本控件还没有讨论,比如文本框、按钮、单选按钮、复选框、列表、进度条等。
现在在HelloJavaFormForm窗口中再添加一个控件,在本例中,将在Form窗口上添加一个Button按钮控件,如图所示。按钮控件是使用JButton类创建的。在这个小案例中,当单击窗体上的按钮时,程序将向用户显示一条消息。
向Form窗口添加Button控件的方法可以与添加以前的Label控件相同。要编辑一个Button的文本,可以通过在Button上右击选择Properties。从图中可以看到,按钮text被更改为“显示信息”。对于添加到窗体中的每个控件,必须做的另一件事是设置控件的变量名。要更改Button控件的名称可以通过右击Button→Change Variable Name来实现更改变量名
从图看出,添加的按钮变量名是ShowMessage。变量名将用于从代码中访问控件的属性。下一步是设置按钮的Event事件,该事件将在按钮被按下或单击时触发按钮执行某些操作。可以通过双击添加的按钮来创建Event,这样源代码部分就会显示IDE生成的代码。也可以在按钮上右击→Events→Action→actionPerformed。
集成开发环境IDE会自动从Design设计模式跳转到Source源代码模式,
上面的代码(其实是事件函数,先不用理解什么是“函数”)是由IDE自动生成的按钮的事件。在这个函数中将放置一些代码语句,这些代码语句将在单击按钮时执行。在本例中,当按钮单击时,该程序将通过JOptionPane消息对话框显示一条消息。为此,第一步是导入java swing。要开始手动写第一行代码了,使用下面的一行代码import导入javax.swing包(package)里面的JOptionPane类
import javax.swing.JOptionPane;
之后,所要做的就是将下面的代码添加到ShowMessage按钮事件中。请注意“小括号”、“双引号”、“分号”是英文输入法状态的英文字符。
JOptionPane.showMessageDialog(rootPane, "Hello,欢迎来到Java GUI的世界!!!");
从图可以看出,当单击按钮时,应用程序显示消息“Hello,欢迎来到Java GUI的世界!!!”
案例1——身份展示器
在该案例中,将尝试制作一个在Form窗口上显示某人身份的应用程序,包括姓名、地址和电话号码。只有单击“Show”按钮,身份才会出现。因此,当程序运行时,Form窗口上不显示任何标识。
(1)创建名为ShowIdentity的项目
File→New Project,然后在弹出的窗口选择Java with Maven→Java Application,设置Project Name为“ShowIdentity”;
(2)添加具有名称Identity的JFrame Form
在“ShowIdentity”项目上右击→New→JFrame Form,然后Class Name设置为“Identity”,Package的值从下拉菜单中选择。
(3)显示身份,添加3个Label标签控件,设置每个标签用以下变量名字lblName、lblAddress、lblPhone。
从面板编辑器拖动3个Label控件放到JFrame Form窗口里面,然后分别在标签上右击→Change Variable Name来修改控件的变量名为lblName 、blAddress、lblPhone。
(4)添加一个变量名为ShowButton的Button控件,然后用“Show Identity”作为该按钮控件的text文本显示值。
从面板编辑器中拖动一个Button控件到JFrame Form窗口,然后在该Button控件上右击→Change Variable Name将其变量名设置为“ShowButton”并确认。接着在该Button控件上右击→Properties,在打开的属性窗口中将text的值设置为“Show Identity”。
① 将IDE从Design设计模式切换到Source源代码模式;添加如下代码到public Identity()对应的大括号里面。
lblName.setVisible(false);
lblAddress.setVisible(false);
lblPhone.setVisible(false);
上面的程序代码是Identity类的构造方法中添加了3行设置标签不可见的代码,在程序运行时将首先调用该类的构造方法。
此时单击“Show Identity”按钮是没有任何反应的,因为“Show Identity”按钮还没有添加事件代码。
② 将IDE从Source源代码模式切换到Design设计模式,在设计模式下双击“Show Identity”按钮或者在按钮上右击→Event→Action→actionPerformed,这将会使IDE从Design模式再次自动切换到Source模式,并且IDE自动添加了按钮事件的方法体代码。
在private void ShowButtonActionPerformed对应的大括号里面添加如下代码:
lblName.setVisible(true);
lblName.setText("姓名:迪丽娜扎");
lblAddress.setVisible(true);
lblAddress.setText("地址:北京市乌鲁木齐路八楼");
lblPhone.setVisible(true);
lblPhone.setText("电话:18888888888");
案例2——文本颜色更改器
在本例中,将尝试更改添加到Form窗口中的标签的文本颜色。该程序将显示三所大学的名字。三所大学的名字将会在应用程序首次运行时出现。此外,当用户按下“Red”、“Blue”和“Green”按钮时,三所大学的文本颜色将变为红色、蓝色和绿色。
以下是创建此应用程序的步骤。
① 创建名为University的项目。
② 添加带有University名称的JFrame Form。
③为了显示三所大学的名称,添加3个标签,使用以下名称设置标签的变量名为lblUniversity1、lblUniversity2、lblUniversity3。
④ 此外,在Form窗口上添加一个用作标题的标签,并将text文本更改为“我的大学”。这个标签的变量名不需要更改,因为它只是一个描述。
⑤ 然后,添加3个具有以下变量名称的控制按钮为RedButton、BlueButton和GreenButton。将3个按钮的text文字改为以下文字:“Red”、“Blue”、“Green”。
在本案例中,三所大学分别是清华大学(Tsinghua University)、北京大学(Beijing University)和黄河水利职业技术学院(Yellow River Conservancy Technical Institute)。要在应用程序首次运行时显示这三所大学,你只需在University类的构造函数中添加以下语句。
lblUniversity1.setText("清华大学");
lblUniversity2.setText("北京大学");
lblUniversity3.setText("Yellow River Conservancy Technical Institute ");
运行程序后,单击“Red”、“Blue”、“Green”按钮,对应的标签改变颜色的效果显示如图
任务3事件处理
事件处理是控件上的各种操作的应对方法,某一操作发生时要触发相应的代码来应对和处理该操作事件。例如,当做单击按钮操作时,就是在按钮上发生了一次单击事件,程序将通过对话框显示一条消息。事件被调用为ActionPerformed事件。
当单击“Show Message”按钮时,第94行到第99行的语句将被执行。这些语句是当单击“Show Message”按钮时将采取的操作。换句话说,event事件是一个触发控件执行特定动作的方法。
案例3——学生姓名显示器
在本例中,将为Button和Label创建一个事件。本例将演示如何在单击按钮时显示第一个学生的名字,在单击标签时显示第二个学生的名字。
以下是创建此应用程序的步骤。
① 创建一个名称为Students的项目。
② 添加名称为DisplayStudent的JFrame Form。
③ 添加2个Label控件来显示名称,并使用以下名称更改变量名lblStudent1和lblStudent2。此外,还添加了一个标签控件,用作Form窗口的标题,并将其文本更改为“学生姓名显示器”。此标签的变量名不需要更改,因为它仅用作描述。
④ 添加一个变量名为ShowButton的按钮,并更改文本为“Show Student 1”。此外,还可以添加变量名为lblShow的标签,并使用“Show Student 2”作为显示文本。
要使显示学生姓名的标签在程序首次运行时不出现,必须在DisplayStudent的构造方法里面将两个标签的文本设置为空字符串。
此时单击Show Student 1按钮和Show Student 2标签时没有任何反应。像上一个案例一样,需要添加事件代码。给按钮添加事件代码想必学生已经掌握了;给Show Students 2标签添加事件代码的步骤是:
在该标签上右击→Event→Mous→MouseClicked;“Show Student 1”按钮和“Show Student 2”标签的事件
上面代码中的第104行到第108行是按钮ShowButton的事件,它将显示学生的名字“王渤”,并将其设置为蓝色。而第110到第114行是标签lblShow的一个事件,它将显示学生“黄宝强”的名字,并将其设置为红色。
单但击“Show Student 1”按钮后,单击“Show Student 2”标签
案例4——图像显示小应用
本案例将展示如何在窗体上显示图像。单击“Show Image”按钮,图像就会出现。
以下是创建此应用程序的步骤:
① 用名称DisplayImage创建一个项目。
② 添加名为ImageViewer的JFrame Form。
③ 要在窗体上显示图像,请添加一个带有变量名称lblImage的标签。此外,还可以在Form窗口上添加一个用做标题的标签,并更改文本为“图像显示小应用”。这个标签的变量名不需要更改,因为它只是一个描述。
④ 添加一个变量名为ShowButton的按钮,并更改文本为“Show Image”。
在本例中,通过单击lblImage标签并拖动标签周围的小方块来拉大lblImage的高度和宽度。并通过lbllmage右击→properties属性窗口为标签提供边框
要删除lbllmage上的文本“jLabel2”字样,可以右击lblImage→Edit Text并删除文本。用户还可以通过在程序第一次运行时提供一个空字符串来实现这一点
此时单击“Show Image”按钮没有任何反应,需要添加一个按钮单击事件。“Show Image”按钮的事件的代码如下:
lblImage.setIcon(new javax.swing.ImageIcon("C:\\wy\\ww.png"));
lblImage.setIcon(new javax.swing.ImageIcon("C:\\wy\\ww.png"));
在上面的代码中,可以看到Imagelcon类传递了一个字符串作为参数,该参数是显示图像的名称和位置。可以看到传递的参数是C:\\wy\\ww.png。这意味着所显示的图像名称为logo.png,并且它位于C:\\wy\\ww.png目录中。用户可以根据想展示的图像的名称和位置更改此参数,为自己计算机里面图片的路径。
初学JAVA GUI相关推荐
- 初学Java多线程:线程简介
Java多线程初学者指南系列教程http://developer.51cto.com/art/200911/162925.htm 初学Java多线程:线程简介 2009-06-29 17:49 ...
- 初学 Java Web 开发,请远离各种框架,从 Servlet 开发
写在前面: 本文是转自:http://www.oschina.net/question/12_52027 的文章,如果要求删除,第一时间联系我立即删除! Web框架是开发者在使用某种语言编写Web应 ...
- 初学Java的那段日子
最近因为一个朋友想要学习Java,在帮助他找教程的过程中回想到了我自己当年学习Java的那段岁月,故写了此篇文章总结了一下初学Java所必须要掌握的知识点,然后把一部分常见的面试题罗列出来.给予刚刚开 ...
- 【毕设进行时-工业大数据,数据挖掘】Java GUI完善,左对齐
正文之前 今天早上起来,因为还要在宿舍这边搞毕业信息确认,所以没办法,我就只能在宿舍里面做一下Java 的GUI的优化了! 很幸运的,思索一番之后,我发现了问题所在,并且很快的就解决了.就在我想要继续 ...
- 初学Java Web开发,请远离各种框架,从Servlet开发
[转载自红薯,原帖地址]http://www.oschina.net/question/12_52027 OSCHINA 软件库有一个分类--Web框架,该分类中包含多种编程语言的将近500个项目. ...
- java gui 结构_java gui教学图形界面的层次结构.ppt
java gui教学图形界面的层次结构.ppt 还剩 13页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: 事件 ...
- java 中gui的作用_java学习中最应该注意的Java GUI用户界面以何为基础
java中的GUI编程(Graphic User Interface,图形用户接口),是在它的笼统窗(Abstract Window Toolkit,AWT)上完成的,java.awt是AWT的东西类 ...
- Java GUI:将JPanel添加进JScrollPane
实现的目标: 因为在滚动框中含有很多个Java GUI 组件,因此这里采用JPanel面板包住这些组件,在用JScrollPane实现滚动 问题1:布局揉在一起 JPanel有自己默认的布局方式,因此 ...
- 初学Java该学哪些知识?这6大知识必学
目前,Java是开发人员的热宠,很多论坛都有不少热爱Java的开发人员,也有不少想成为Java程序员,但苦于不知道该如何学习Java,也不清楚该学些什么知识才能成为一个Java程序员.小千在这里抛砖引 ...
- 初学Java,这三个阶段你经历过吗?
在互联网时代,Java语言是使用最广泛的服务器端语言之一,随着市场需求的不断扩大,Java人才缺口也越来越大.在如此广阔的前景和市场缺口下,学习Java进入Java行业成为许多人的不二之选. 根据小千 ...
最新文章
- [笔记]C#基础入门(八)——C#标识符的命名规则
- Oracle数据库以及Oracle SQL Developer初体验
- 算法设计与分析 1 递推与递归
- BZOJ1095 [ZJOI2007]Hide 捉迷藏 【动态点分治 + 堆】
- Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
- Python类中的self到底是干啥的
- (*长期更新)软考网络工程师学习笔记——Section 2 数字传输系统
- react --- 按需加载组件
- Android ToolBar 使用完全解析
- 两年,从月入4K到40K,从来不是努力工作,而是不断跳槽
- 计算机竞赛女生,我校组队参加 CCPC-WFINAL中国大学生程序设计竞赛女生专场
- 无人机之模拟器、加密狗
- Android联网的权限
- 【软件相关】Multisim完整教程
- photoshop第九章:文字和场景效果的制作
- 机器视觉最常见的五大典型应用
- 浏览器的“心脏”——内核
- 扫盲:Java 后端开发常用的 10 种第三方服务
- Java电子签章验章知识储备
- 常见Http Method有哪些