2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 图形用户界面GUI

图形用户界面GUI

时间:2019-04-30 09:16:45

相关推荐

图形用户界面GUI

类库下载|java类库

Java基础学习, Java图形用户界面

类库下载-java类库

1. JavaGUI主要开发工具 — Swing类库的诞生与功能

cps管理系统源码,VSCode网站打不开,ubuntu时间不准,tomcat打开没反应,sqlite万能查看器,网络爬虫和数据爬虫,qq登录接口 php,苏州白帽seo技术,网站视频动画播放插件,html左侧菜单多级导航模板lzw

一个合格的Java Developer,不仅要掌握技术,还要有一定的Java历史背景知识储备。所以先简要介绍一下用于JavaGUI开发的主要类库:Swing。

博客源码Z,ubuntu软件中心显示,小爬虫最新视频,QQ php库,怎么seo平台lzw

在Java 1.0时代便有设计GUI的基本类库Abstract Window Toolkit,简称AWT。AWT库工作原理是将处理用户界面元素的任务委派给目标平台(操作系统)的本地GUI工具箱,由本地GUI工具箱负责用户界面元素的创建和动作。这种工作方式是有利也有弊,先说下利处:

清新美文网站源码,vscode使用教程汇编,chia安装ubuntu,tomcat 工作流程,postman 爬虫,php抽象类继承抽象类,福州专业seo哪家好,网站在线生成二维码生成器,手机端表格样式模板下载lzw

处理速度可能要快一点。

可以适应不同的平台,“一次编写,随处使用”。

弊处:

观感依赖于目标平台。

有些平台并没有像Windows或Mac这样丰富的界面组件(早期)。所以把AWT的设计工作限制在了“最小公分母”。

不同平台存在不同的bug。

1996年,Netscape创建了另一种GUI库IFC,他的工作方式是 将用户界面组件绘制在空白窗口上,而对等体只需要负责创建和绘制空白窗口。Sun和Netscape合作并完善了这种方式,创建了名为Swing的用户界面库,这便是Swing的诞生。

但是Swing并没有完全取代AWT,到目前Java SE 8中依旧有AWT与Swing两个功能类库:

AWT import java.awt (java为核心包)

Swing import javax.swing (javax包为功能扩展包)

Swing没有完全取代AWT的原因是:Swing是基于AWT的架构之上,Swing仅仅是提供了能力更强大的用户界面组件。在Swing编写的程序中,还是需要AWT进行事件处理。简单说就是,Swing是用户界面类,AWT是底层机制。

2.创建JFrame框架

Frame意为框架,也就是最顶层的窗口,可以在框架里添加组件。我们创建一个窗口首先要创建一个框架。

注:Swing组件类都以“J”开头,如 JButton,JFrame等,AWT组件不带“J”。如果Swing组件和AWT组件一起用可能会导致视觉和行为的不一致。

现在,我们来创建一个空框架:

package simpleFrame;//会用到awt和swing的类,先import。import java.awt.*; import javax.swing.*;//创建一个SimpleFrame的类,里面只有一个main函数,main函数里有个事件分派线程。public class SimpleFrame { public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() {JFrame frame = new SizedFrame(); //new一个SizeFrame对象给frame变量管理,这便有了框架。SizeFrame是JFrame的子类。frame.setTitle("SimpleFrame"); //设置框架的标题.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设定关闭按钮。frame.setVisible(true);//设定框架可见。 } }); }}//其实到这里为止,我们可以在第12行直接new一个JFrame交给frame,但是JFrame默认框架大小是0×0,没什么实际意义。//所以我们选择继承JFrame做一个子类起名SizedFrame,在这个类里做一个构造器来设定框架的大小。class SizedFrame extends JFrame { //构造器 public SizedFrame() {//下面四行代码为获取你pc屏幕的高度和宽度,交给int变量screenHeight和screenWidth。 Toolkit kit = Toolkit.getDefaultToolkit(); Dimension screenSize = kit.getScreenSize(); int screenHeight = screenSize.height; int screenWidth = screenSize.width;//setSize方法由父类Component类(GUI对象的祖先)继承而来。设定框架长宽都为屏幕的1/2. //setLocationByPlatform由Window类(Frame类的父类)继承而来。由平台(操作系统)来选择一个合适的显示位置。 setSize(screenWidth/2,screenHeight/2); setLocationByPlatform(true);//setIconImage方法由Frame类继承而来,设置框架图标。 Image img = new ImageIcon("icon.jpg").getImage(); setIconImage(img);//当然,事件分派线程里的设定标题、设定关闭按钮、和设定框架可见操作,也可以放在构造器里来做。 }}

Windows 10下运行:

3.在框架中添加组件JComponent

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。