java图形用户界面认知

  为了使我们生成的图形用户界面具有良好的平台无关性,Java语言中,提供了布局管理器这个工具来管理 组件在容器中的布局,而不使用直接设置组件位置。组件类是创建用户界面的,例如,JButton,JLabel和JTextField。容器类是用来包含其他组件的,例如,JFrame,JPanel和JApplet。辅助类是用来支持GUI组件的,例如,Graphics,Color,Font,FontMetrics和Dimension。

  一、组件类
  Component 类的实例可以显示在屏幕上。Component类是包括容器类的所有用户界面的根类,而JComponent类是所有轻量级Swing组件类的根类。Component和JComponent都是抽象类。

  二、容器类
  一个Container的实例可以包含Component实例。容器类是用于盛装其他GUI组件的GUI组件。Window,Panel,Applet,Frame和Dialog都是AWT组件的容器类。要使用Swing组件做容器,可以使用下表的Container,JFrame,JDialog,JApplet和JPanel.
  三、GUI辅助类
  辅助类都不是Component的子类,例如,Graphics,Color,Font,FontMetrics,Dimension和LayoutManager等。它们用来描述GUI组件的属性,例如,图形的内容,颜色,字体以及大小尺寸等。
  四、布局管理器
  FlowLayout 是最简单的布局管理器。按照组件添加的顺序,从左到右地将组件排列在容器中。当放满一行时,就开始新的一行。可以使用三个常量FlowLayout.RIGHT,FlowLayout.CENTER和FlowLayout.LEFT之一来指定组件的对齐方式。还可以指定组件之间以像素为单位的间隔。布局管理器的属性可以动态的改变。FlowLayout具有属性alignment,hgap和vgap。可以使用setAlignment,setHgap和setVgap方法来表明对齐方式,水平间隔和垂直间隔。GridLayout具有属性rows,columns,hgap和vgap。可以使用setRows,setColumns,setHgap和setVgap方法来指定行数,列数以及水平间隔和垂直间隔。BorderLayout具有属性hgap和vgap。可以使用setHgap和setVgap方法来指定水平间隔和垂直间隔。 如果需要动态地改变布局管理器的属性,布局管理器必须使用一个变量显示的引用。然后,可以通过这个变量来改变布局管理器的属性。使用面板作为子容器假设要在框架中放置是个按钮和一个文本域。按钮以网格形式放置,文本域单独占一行。如果将所由这些组件放在一个单独的容器中,是很难达到要求的视觉效果的。使用Java图形用户界面进行程序设计,可以将一个窗口分成几个面板。面板的作用就是分组放置用户界面组件的子容器。可以将这些按钮添加到一个面板中,然后再将这个面板添加到框架中。 面板的Swing版本是JPanel.可以使用new JPanel()创建一个带默认FlowLayout管理器的面板,也可以使用new JPanel(LayoutManager)创建一个带特定布局管理器的面板。使用add(Component)方法可以向面板添加一个组件。

时间: 2024-10-13 20:43:42

java图形用户界面认知的相关文章

java图形用户界面程序

GUI(Graphical User Interface) 定义:一个程序中,用户可以可以看见和与之交流的部分. 支持图形用户界面的两套组件: 1,AWT 2,Swing 建立步骤: 建立容器-建立组件-将组件添加到容器-设置布局 Swing中的重量级容器: 继承自AWT中的Container类,为其他容器和组件提供绘制位置 有JFrame,JDialog,JWindow,JApplet; Swing中的轻量级容器: 继承自Swing类的JComponent,为了方便其他组件的定位 有JPane

Java图形用户界面编程

GUI代表图形用户界面(Graphical User Interface),Java API中提供了两套组件用户支持编写图形用户界面,包括AWT和Swing. AWT使用本地操作系统的代码资源,被称为重量级组件. Swing建立在AWT提供的基础之上,同时使用AWT相同的事件处理机制.Swing组件是轻量级的GUI组件,完全有纯Java代码编写,不依赖于任何特定平台,采用MVC架构方式来设计组件类.它将表示层分为三个分离的部分,分别是模型(model).视图(view).控制器(controle

Java图形用户界面布局控制Layout练习

尝试搭建登录对话框,包含两个文字标签(用户名.服务器IP),两个文本输入条(用户名.服务器IP),一个按钮(登录),按照自己认为合适的方式布局.  我把GridLayout(网格布局).BorderLayout(边界布局).FlowLayout(流式布局)三种布局进行了比较并且做了尝试.  终于到了使用Java得到图形反馈的结果,心里还有些小激动呢.虽然只是完成了界面的展示,没有功能的实现,但是成就感还是蛮大的,而且查询JDK文档真的非常有收获. package gui; import java

JAVA图形用户界面

javaAPI中提供了两套组件用于编写图形界面,AWT和Swing Swing是轻量级的GUI组件,用MVC架构来设计组件类,这种架构分为模型,试图和控制器.其中试图使用户看到的,控制器处理用户与组件的交互操作,模型用来存储定义组件的数据. 视图由容器和组件构成.一个组件要可见,就必须放在容器中. 重量级容器包括Jframe(窗体),JDialog(对话框),JWindow(窗口),JApplet(小程序).每个应用程序中至少要有一个重量级容器(顶级容器). 这4个顶级容器继承自Containe

Java学习笔记--Java图形用户界面

AWT:抽象窗口组件工具包 Abstract Windows Toolkit(AWT)是最原始的 Java GUI 工具包.AWT 的主要优点是,它在 Java 技术的每个版本上都成为了一种标准配置,包括早期的 Web 浏览器中的 Java 实现:另外它也非常稳定.这意味着我们不需要单独安装这个工具包,在任何一个 Java 运行环境中都可以使用它,这一点正是我们所希望的特性. AWT包中最基本的关系是 组件.容器.布局管理器.事件之间的关系 容器类派生出  容器框架类(Frame) 面板类(Pa

多线程编程、java图形用户界面编程、Java I / O系统

线程概述 进程:是一种 “自包容”的运行程序 线程是进程当中的一个概念,最小处理单位 THread类.Runnable接口.Object类 创建新执行线程有两种方法:1:一种方法是将类声明为Thread子类,该子类Thread类为run方法 启动:调start()方法 编写一个继承类的类,然后在类中重写Thread类的run()方法 编写一个实现Runnable接口,然后将该类的的实例与java.lang.Thread对象联系在一起 char能够转换int(4个字节),Int强制转换char(2

2016.3.11(Java图形用户界面)

Swing程序的建立步骤 1 建立容器2 建立组件3 将组建添加都容器4 设置布局 public class SimpleFrame extends JFrame { private int width; private int height; private Container contentP; private JLabel usernameLabel; private JLabel passwordLabel; private JTextField usernameField; priva

2016.3.16(Java图形用户界面)

边界布局 public class BorderLayoutTest extends JFrame{ public BorderLayoutTest(){ this.setSize(900,600); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setTitle("边界布局"); this.setLocationRelativeTo(null);//设置窗体居中 this.addContent(); this.se

I/O系统,多线程、图形用户界面编程

多线程 进程与线程区别: 进程需要分配独立的内存空间:线程在同一内存空间中工作,可以共享同一块内存和系统资源 与Java相关的API: 1)Thread类 方法:start()启动: urn() : getName()获取线名:    setName()改变线名:   setPriority()设置优先级:   setDaemon()守护线程:   join()等待:   interupt()中段本线程:    isAlive()判断运行是否仍在生命周期之中:   yield()静态,停止线程运