java语言基础(99)——java--GUI(图形化界面)编程

GUI 全称 Graphical User Interface 译作 图形用户接口,为程序员编写图形界面的程序提供了接口。

java有关图形化接口的封装都在 

java.awt (重量级接口,依赖本地系统移植性差,在不同系统下可能表现不同) 和 

javax.swing(轻量级接口,完全由java实现,移植性强)包下。


图形界面编程我们需要掌握如下知识:

布局:流布局 网格布局等许多布局方式,请参考 LayoutManager 接口

组件: 文本框 按钮等都属于组件 请参考Component类

事件(监听): 鼠标事件 键盘事件 请参考 Event   MouseEvent MouseListener  KeyEvent  KeyListener


组件继承关系(常用,非完整继承图)



常用方法示例代码:

package GUIDemo;

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;

public class TransDataDemo {

	 
	public static void main(String[] args) {
		 
		Frame f = new Frame();
		//设置标题
		f.setTitle("数据转移");
		
		// 设置为流式布局(更多布局方式请参考LayoutManager)
		f.setLayout(new FlowLayout());
		
		//设置窗体可见 如果窗体里有很多组件 建议窗体的显示动作放在最后
		f.setVisible(true);
		
		//设置边距和宽高
		f.setBounds(200,300,500,300);
		
		// 创建一个文本框
		final TextField tf = new TextField(20);
		
		// 创建一个文本域
		final TextArea ta = new TextArea(10,40);
		
		//创建一个按钮
		Button b = new Button("数据转移");
		//设置按钮大小
		b.setSize(20, 10);
		
		// 给按钮添加点击事件
		b.addActionListener(new ActionListener(){

			public void actionPerformed(ActionEvent e) {
				 String s = tf.getText().trim();
				 ta.append(s+"\r\n");
				 tf.setText("");
				 //获取光标
				 tf.requestFocus();
			}
			
		});
		//给窗体添加组件
		f.add(tf);
		f.add(b);
		f.add(ta);
		
		
		// 设置监听事件 使关闭按钮生效
		f.addWindowListener(new WindowAdapter(){
			@Override
			public void windowClosing(WindowEvent e) {
				 System.exit(0);
			}
		});

	}

}


菜单组件的使用:

值得注意的是,在使用菜单组件的时候,必须结合菜单栏组件,菜单中的每一项叫菜单项,它们的关系是,菜单栏属于窗体,菜单属于菜单栏,菜单项属于菜单,而菜单下也可以添加菜单,这样就可以实现多级菜单的效果。

一级菜单示例代码:

package GUIDemo;

import java.awt.Frame;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class MenuDemo {

	 
	public static void main(String[] args) {
		 
		Frame f = new Frame("菜单演示");
		f.setBounds(300, 200, 300, 200);
		// 菜单栏
		MenuBar mb = new MenuBar();
		// 菜单
		Menu m = new Menu("文件");
		// 菜单项
		MenuItem mi = new MenuItem("新建");
		MenuItem mi1 = new MenuItem("另存为");
		MenuItem mi2 = new MenuItem("退出系统");
		// 给菜单添加菜单项
		m.add(mi);
		m.add(mi1);
		m.add(mi2);
		// 给菜单栏添加菜单
		mb.add(m);
		// 给窗体添加菜单栏
		f.setMenuBar(mb);
		
		mi2.addActionListener(new ActionListener(){

			public void actionPerformed(ActionEvent e) {
				 
				System.exit(0);
			}
			
		});
		
		
		f.setVisible(true);
		

	}

}




  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梧桐深院

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值