黑马程序员_图形界面GUI

本文介绍了Java图形用户界面编程的基础知识,包括AWT和Swing两个工具集的区别,常见布局管理器如FlowLayout、BorderLayout等的使用方法,并通过具体示例展示了如何创建窗口、设置布局、添加控件以及实现简单的事件监听。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

------- android培训java培训、期待与您交流!---------

一、工具集

java.Awt: Abstract Windowing Tookit抽象窗口工具包,需要调用本地系统方法(win)实现功能。属于重量级组件。

javax.Swing在AWT的基础上,建立的一套图形系统,其中提供了更多的组件,而且完全由Java实现。增强了移植性,属轻量级控件。


二、继承关系图

常见的布局管理器:
FlowLayout(流式布局管理器)从左到右的顺序排列,默认的布局管理器。<
BorderLayout(边界布局管理器)东南西北中,Frame默认的布局管理器。
GridLayout(网格布局管理器)规则的矩阵
GridBagLayout(网格包布局管理器)非规则的矩阵
CardLayout(卡片布局管理器)选项卡

事件监听机制:
事件源(组件):图形界面组件。
事件(Event):每个组件都有自己特有的对应事件和共性事件。
监听器(Listener):将触发某一事件的动作已封装在监听器中。
事件处理:引发事件后的处理方式


三、控件使用

		f = new Frame("my");
		f.setBounds(200,200,500,450);	//	设置出现的位置,及大小
		f.setLayout(new FlowLayout());		//设置布局

		labAddr = new Label("目录:");		//新建控件并添加到Frame中
		f.add(labAddr);

		txtf = new TextField(30);
		f.add(txtf);

		bt = new Button("转到");
		f.add(bt);

		txta = new TextArea(20, 60);
		f.add(txta);

		mbar = new MenuBar();				//mbar(MenuBar)
		caidan = new Menu("菜单");			//	|--caidan(Menu)
		openMenu = new MenuItem("打开");	//		|--openMenu(MenuItem)
		saveMenu = new MenuItem("保存");	//		|--saveMenu(MenuItem)
		exitMenu = new MenuItem("退出");	//		|--exitMenu(MenuItem)

		mbar.add(caidan);
		caidan.add(openMenu);
		caidan.add(saveMenu);
		caidan.addSeparator();				//		---------------分割线
		caidan.add(exitMenu);

		f.setMenuBar(mbar);
		f.setVisible(true);					//设置Frame可见性
		
		
		f.addWindowListener(new WindowAdapter()//窗体监听机制,由于有多个故有适配器
		{
			public void windowClosing(WindowEvent e)//当监听器发现窗体关闭,就会发生windwClosing动作
			
			
		bt.addActionListener(new ActionListener()//button按钮的活动监听
		{
			public void actionPerformed(ActionEvent e)//只有这一个方法
			{
		bt.addMouseListener(new MouseAdapter()
		{
			public void mouseClicked(ActionEvent e)
			
		txtf.addKeyListener(new KeyAdapter()
		{
			public void keyPressed(KeyEvent e)
			{
				if(e.getKeyCode() == KeyEvent.VK_ENTER)//监听是否为输入了Enter
		
		openMenu.addActionListener(new ActionListener()//菜单的打开
		{
			public void actionPerformed(ActionEvent e){


------- android培训java培训、期待与您交流!---------


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值