Java GUI初探

一、Java GUI?

java中GUI主要是通过两个库来实现:AWT、Swing。
AWT是早期随Java一起发布的,目的是提供创建图形用户界面的支持,其中包括基本的组件,并且还提供了丰富的事件处理接口。Swing是继awt后sun公司推出的有一款GUI工具包,Swing全面替代了awt1.0中的组件,但是保留了java1.1中awt的事件模型。总体上Swing替代了awt的绝大部分组件,但并没有完全替代awt,而是在awt的基础上进行了补充和加强。
awt组件和Swing组件最大的区别就是Swing的组件在实现时不包含任何本地代码,因此Swing组件可以不受限于硬件平台的差别,这也是Swing被称为“轻量级组件”的原因。而awt最初的实现为了能够一次编译,到处运行,而以牺牲一部分功能为代价,而只能实现各个平台交叉部分的功能,awt也包含本地代码,所以也称为“重量级组件”。

二、java GUI组件

java中构成GUI的各种组件可以分为三类:容器、基本组件特殊对话框、不可编辑信息的显示组件和可编辑的显示组件。

1.容器

容器顾名思义是用来装东西的,java中的容器就是用来装各种各样的组件的。一个组件可以包含多个组件,同时自己也可以作为组件被别的组件包含。其实,容器的本身也是一个组件,属于Component的子类。
容器又可以大致分为以下三种:

  • 顶层容器–JFrame、JApplet、JDialog和JWindow
  • 中间容器–JPanel、JScrollPane、JSplitPane和JToolBar等
  • 特殊容器–JInternalFrame、JRootPane和JLayeredPane等

2.基本组件

即与用户进行的组件,如JButton、JCombobox、JList、JMenu和JSlider等

扫描二维码关注公众号,回复: 2373393 查看本文章

3.特殊对话框

直接产生特殊对话框组件,如JColorChoose和JFileChooser等

4.不可编辑信息的显示组件

组件中的信息不可编辑,如JLabel、JProgressBar和JToolTip等

5.可编辑信息的显示组件

组件中的信息可以编辑,如JTextField、JTextArea和JTbale等

三、Swing组件的类层次关系

大部分Swing组件都是JComponent抽象类的直接或者间接子类,在JComponent抽象类中定义了所有子类的组件的通用方法。JComponent类定义位于javax.swing包中,javax包是一个java扩展包。Swing中的JComponent类是awt中java.awt.Component类的子类。JComponent类的继承关系层次如示:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/miha_singh/article/details/80301368
今日推荐