欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVA GUI

程序员文章站 2024-01-27 08:14:52
...
一、GUI(图形用户接口)
  1. 用图形的方式来显示计算机操作界面,更方便直观
  2. java.awt(抽象窗口工具包),需要调用本地系统方法实现功能,属于重量级控件
  3. javax.swing在AWT的基础上,建立的一套图形界面系统,其中提高了更多的组件,完全由java实现,增强了移植性,属于轻量级控件
  4. Frame类方法都在下面的实例中进行演示
  5. 事件监听机制
    a) 事件源:事件发生的地方
      b) 事件:要发生的事件
      c) 事件处理:针对发生的事情做出处理方案
      d) 事件监听:将事件源和事件关联起来
  6. 适配器设计模式
    a) 问题:当接口方法比较多,但是实现类仅使用一个方法,这时也需要将其他方法一并实现
       (可以空实现),比较麻烦
      b) 解决此问题:在接口类和实现类中间加一个适配器类(适配器类为抽象类,仅仅空实现接口),
       实现类(继承适配器类,用哪个就重写哪个适配器类的方法)
      适配器类如:WindowAdapter
  7. 窗体布局:窗体中各个组件的排列方式
    a) 流式布局FlowLayout:从左到右,从上到下
      b) 边界布局BorderLayout:将容器分为东、西、南、北、中五个区域,每个区域只能包含一个组件,
       并通过相应常量进行表示
      c) 网格布局GridLayout:以矩形网格的形式对容器进行布置,容器被分成大小相等的矩形,
       一个矩形中放置一个组件
      d) 网格包布局GridBagLayout:不要求组件的大小相同便可以将组件垂直、水平或沿基线对齐。
      e) 卡片布局CardLayout:将容器组件看成一张卡片,一次只能看到一张卡片,容器充当卡片堆栈。
  8. 菜单组件
    a) MenuBar:菜单条
      b) Menu:菜单
      c) MenuItem:菜单项,
      d) 先创建菜单条,再创建菜单,每一个菜单中建立菜单项,也可以将菜单添加到菜单中,作为子菜单
      e) 通过setMenuBar()方法,将菜单添加到Frame中
二、程序实例
1. 窗体基本设置实例(包含Frame类常用方法)
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class FrameDemo {
	public static void main(String[] args) {
		//创建窗体对象
		Frame f=new Frame();
//创建窗体对象,并设置窗体标题为zfliu,和f.setTitle("zfliu96");方法功能相同
	//Frame f=new Frame("zfliu");
			
	//设置窗体大小
	f.setSize(800, 400);
	
	//设置窗体位置
	f.setLocation(200,300);
	
	//可以直接设置窗体的位置和大小
	//f.setBounds(200, 300, 800, 400);
	
	//设置窗体名字
	f.setTitle("zfliu96");

	//设置窗体是否可见,先设置好窗体的属性再将其显示出来
	f.setVisible(true);
	
	//关闭窗体
	//事件源:f
	//事件:对窗体进行处理
	//事件处理:关闭窗口(System.exit(0));需要实现WindowListener接口,并重写关闭窗口的方法
	//事件监听
	//使用适配器模式,只需要重写需要用的方法即可,WindowAdapter适配器类
	f.addWindowListener(new WindowAdapter() {
		@Override
		public void windowClosing(WindowEvent e) {
			// TODO Auto-generated method stub
			System.exit(0);
		}
	});
}
}    

2. 添加并设置按钮功能实例

import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
/*

- 添加并设置按钮功能实例(按钮的功能:实现文本框内的数据向文本域转移)
- 1、创建窗体对象
- 2、创建按钮对象,并设置按钮功能
- 3、将按钮添加到窗体中
- 4、窗体显示
- 5、窗体关闭功能
   */
  public class ButtonDemo {
  public static void main(String[] args) {
  	Frame f=new Frame("数据转移");
//设置分本框
TextField tf=new TextField(20);

//设置文本域
TextArea ta=new TextArea(10,40);

f.setBounds(400, 300, 400, 300);

Button b=new Button("Button1");

//设置按钮功能
b.addActionListener(new ActionListener() {
	public void actionPerformed(ActionEvent e) {
		//获取文本框的内容,并去除字符串前面和后面的空格
		String s=tf.getText().trim();
		
		//将字符串内容设置到文本域中
		//ta.setText(s);
		
		//追加内容,并换行
		ta.append(s+"\n");
		
		//复制结束后可以清楚文本框的内容
		tf.setText(null);
		
		//获取光标,使光标一直在文本框内
		tf.requestFocus();
	}
});
		
//将按钮添加到窗体中
f.add(tf);
f.add(b);
f.add(ta);

//设置窗体布局模式为流式布局
f.setLayout(new FlowLayout());

//关闭窗口
f.addWindowListener(new WindowAdapter() {
	public void windowClosing(WindowEvent e) {
		System.exit(0);
	}
});

f.setVisible(true);
}
}
相关标签: 笔记 gui java

上一篇: RN 获取数据的过程

下一篇: