[java/初学者/GUI编程]GUI界面设计——界面组件类
创始人
2024-01-21 15:59:53
0


 前言

GUI,即图形用户界面,其英文全称是Graphics User Interface。

它是基于图形的界面,windows就是一个图形用户界面的操作系统,而DOS是基于命令提示符的操作系统,GUI编程就是编出一个图形用户界面的软件,它使用图形的方式,以菜单、按钮、表示、图文框等标准界面元素组成的用户操作界面。

所有的图形用户界面程序(GUI编程),都要解决以下两个方面的问题:

  1. 界面设计
  2. 事件处理

针对GUI编程,java提供的诸多的类,这些类都存在于两个包内。

java.awt包,简称AWT;

AWT包是sun最早推出的一套API,它需要利用本地操作系统所提供的图形库

  1. 属于重量级组件;
  2. 不能跨平台;
  3. 组件种类有限 ;

虽然可以提供最基本的GUI设计工具,但却无法实现目前GUI设计所需的所有功能; 

java.swing包,简称Swing;

Swing包是AWT包经过改进后推出的,并且由纯java语言编写

  1. 属于轻量级组件;
  2. 可跨平台;
  3. 提供了比AWT更加丰富的组件和功能,足以满足GUI设计的一切需求。

Swing会用到许多AWT的相关知识,例如AWT布局管理和AWT事件处理机制等。

经过以上段落,我们GUI编程应该有了一些了解,

本章就让我们学习一下GUI界面设计中的界面组件类吧!

Link Start!



 GUI界面设计包括界面元素的创建以及界面的布局

这个界面元素还有另一种叫法,那就是组件,在前言中我们提到,java的界面组件类在AWT包和Swing包中,其主要有:

  • 容器类组件
  • 非容器类组件
  • 菜单类组件等等

而页面的布局可以通过布局管理器类来实现,它也存在于AWT包和Swing包中,在实际编程中可以选用不同的布局管理器。

一、界面组件类

1、常用AWT组件

①:窗体容器类——Frame

Frame是最常用的容器之一,它是Window类的派生类,利用它可以创建一个带有标题栏、可选菜单条、最小化和关闭按钮、有边界的标准窗口。

一般将它作为图形用户界面的最外层的容器,它可以包含其他的容器或组件,但其他的容器不能包含它。

其构造方法如下:

Frame();
//创建一个无标题的窗口,该窗口的默认布局为BorderLayoutFrame(String title);
//创建一个标题为title的窗口,该窗口的默认布局为BorderLayout

常用方法如下:

public Component add(Compoent c)
//将组件c添加到容器中public void setTitle(String s);
//设置窗口的标题为spublic void setSize(int width,int height);
//设置窗口的宽width和高heightpublic void setBounds(int a,int b,int width,int height);
//设置窗口出现在屏幕上的位置(a,b),以及窗口的宽width和高heightpublic void setResizable(boolean b);
//设置窗口在运行时是否可调整大小;默认是可调整大小的public void setVisible(boolean b);
//设置窗口在运行时是否可见;默认是不可见的System.exit(0);
//撤销所有的窗口

需要注意的是,Frame窗口在默认情况下是不可见的。

如若要让他显现出来,就必须调setVisible()方法或者show()方法。

下面是利用所示方法所编写的一个实例:

import java.awt.Frame;//导入包public class Start extends Frame
{public static void main(String[]args){Start frame=new Start();//创建对象frame.setBounds(400,200,500,200);//设置窗口的位置和大小frame.setTitle("Frame实例窗口");//设置窗口的标题frame.setVisible(true);//设置窗口为可见}
}

结果如图所示:

 ②:窗格容器类——Panel

Panel是一个较为简单的容器。

可以将其他的图形用户界面组件置于其上,或者放置另一个Panel(Panel嵌套)。

一般我们使用Panel把一些相关操作的组件组织起来,从而构建出操作简单、布局良好的用户界面。

虽然Panel类本身并没有多少方法,但其继承了Container和Component类的所有可用的方法。

其构造方法如下:

Panel();
//创建一个Panel对象,并使用默认的布局管理器BorderLayout摆放添加到窗格上的组件对象Panel(LayoutManager layout);
//创建一个Panel对象,并使用layout所指定的布局管理器摆放添加到窗格上的组件对象

常用方法如下:

add(Component c)
//将组件c添加到窗格上setLayout(LayoutManager layout)
//设置窗格的布局管理器为layoutsetVisible(boolean b)
//设置窗格是否可见,默认是可见的

下面是利用所示方法所编写的一个实例:

import java.awt.*;//导入包
public class Ex11_3 extends Frame
{public static void main(String[] args) {Ex11_3 frame =new Ex11_3();创建frame对象frame.setBounds(100,100,500,200); //设置窗口大小及其位置frame.setTitle("Frame实例窗口"); //窗口的标题Panel p1=new Panel();//创建窗格对象p1p1.setBackground(Color.blue);//设置p1的背景色为蓝色p1.setSize(200,80);//设置p1的大小Panel p2=new Panel();//创建窗格对象p2p2.setBackground(Color.red);//设置p2的背景色为红色p2.setSize(140,60);//设置p2的大小frame.setLayout(null);//设置窗口的布局为空布局frame.add(p1);//将p1添加到框架窗口上p1.setLayout(null);//设置p1的布局为null空布局p1.add(p2);//将p2添加到p1上frame.setVisible(true); //设置窗口为可见}
}

结果如图所示:

  ②:标签组件类——Label

标签是一种只能显示文本的组件,且内容不能被编辑。

一般用作标识或提示信息。

其构造方法如下:

Label();
//创建一个空的标签Label(String text);
//创建一个标识内容为text的标签,text的内容左对齐显示Label(String text,int alignment);
//创建一个标识内容为text的标签,
//text内容的显示对齐方式由alignment指定,alignment可以取类常数值

Label标签还提供了一些类常数,用于限定对齐方式的类常数如下:

  • Label.LEFT常数值为0,表示左对齐;
  • Label.CENTER常数值为1,表示居中对齐;
  • Label.RIGHT常数值为2,表示右对齐;

常用方法如下:

String getText()
//获取标签的标识内容setText(String text)
//设置标签的标识内容为textsetVisiable(boolean b)
//设置标签是可见的

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...