`

黑马程序员_GUI

 
阅读更多

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

 

 

图形界面GUI:

 

GUI

 

 

Graphical User Interface(图形用户接口)

 

 

用图形的方式,来显示计算机操作的界面,这样更方便更直观。

 

 

CLI

 


Command User Interface(命令行用户接口)

 


就是常见的Dos命令行操作。

 

 

需要记忆一些常用的命令,操作不直观。

 

Awt与Swing

 


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

 

 

依赖于系统。



java.Swing:在Awt基础上建立的一套图形界面系统,其中提供了更多的组件,而且完全由java实现。

 

 

增强了移植性,属轻量级实现。



 

 

 

Container是一个特殊的组件,虽然和其他组件平级,但是可以在该组件上添加其他的组件。

 

 

容器中的组件的排放方式,就是布局。

 

 

常见的布局管理器:

 

 

FlowLayout(流式布局管理器)从左到右的顺序排列Panel默认的布局管理器。

 

 

BorderLayout(边界布局管理器)东,南,西,北,中,Frame默认的布局管理器。

 

 

GridLayout(网格布局管理器)规则的矩阵。

 

 

CardLayout(卡片布局管理器),选项卡。

 

 

GridBagLayout(网格包布局管理器),非规则的矩阵。

 

 

 创建图形化界面:

 


1、创建Frame窗体。

 


2、对窗体进行基本设置。

 


3、定义组建。

 


4、将组建通过窗体的add方法添加到窗体中。

 


5、让窗体显示,通过setVisible(true)。

 

 

事件监听:

 



 

 

 

事件源:就是awt包或者swing包中的那些图形界面组建。

 

 

事件:每一个事件源都有自己特有的对应事件和共性事件。

 

 

监听器:将可以触发某一个实践的动作都已经封装到了监听器中。

 

 

窗口监听器:WindowListener

 

 

事件:ActionListener

 

 

鼠标事件:MouseListener

 

 

键盘事件:KeyListener

 

 

练习:

 

 

class  MyWindowDemo
{
	//初始化窗口、文本区域,文本框、按钮、对话框、标签
	private Frame f;
	private TextField tf;
	private Button but;
	private TextArea ta;
	
	private Dialog d;
	private Label lab;
	private Button okBut;


	MyWindowDemo()
	{
		init();
	}
	
	//布局设置
	public void init()
	{
		f = new Frame("my window");//窗口布局
		f.setBounds(300,100,600,500);
		f.setLayout(new FlowLayout());//布局方式

		tf = new TextField(60);//文本框宽度

		but = new Button("转到");//按钮内容

		ta = new TextArea(25,70);//文本区域大小


		d = new Dialog(f,"提示信息-self",true);//对话框设置
		d.setBounds(400,200,240,150);//对话框大小位置
		d.setLayout(new FlowLayout());//对话框布局
		lab = new Label();//内容标签
		okBut = new Button("确定");

		//将组件添加进窗口和对话框
		d.add(lab);
		d.add(okBut);



		f.add(tf);
		f.add(but);
		f.add(ta);


		myEvent();
		f.setVisible(true);
	}
	
	/**
	 * 定义事件
	 */
	private void  myEvent()
	{

		okBut.addActionListener(new ActionListener()//按确定按钮关闭对话框事件
		{
			public void actionPerformed(ActionEvent e)
			{
				d.setVisible(false);
			}
		});
		d.addWindowListener(new WindowAdapter()//关闭对话框按钮事件
		{
			public void windowClosing(WindowEvent e)
			{
				d.setVisible(false);
			}
		});

		tf.addKeyListener(new KeyAdapter()//回车键查询事件
		{
			public void keyPressed(KeyEvent e)
			{
				if(e.getKeyCode()==KeyEvent.VK_ENTER)
					showDir();
			}
		});


		but.addActionListener(new ActionListener()//按钮查询
		{
			public void actionPerformed(ActionEvent e)
			{
				showDir();
				
			}
		});

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

	private void showDir()
	{
		String dirPath = tf.getText();//获取文本框内容
				
		File dir = new File(dirPath);//将路径封装为file对象

		if(dir.exists() && dir.isDirectory())//判断是否存在并且是一个文件夹
		{
			ta.setText("");
			String[] names = dir.list();
			for(String name : names)
			{
				ta.append(name+"\r\n");
			}
		}
		else
		{
			String info = "您输入的信息:"+dirPath+"是错误的。请重输";//对话框标签内容
			lab.setText(info);
			d.setVisible(true);//显示对话框
		}
	}

	public static void main(String[] args) 
	{
		new MyWindowDemo();
	}
}


	

 

 

 

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

 

  • 大小: 26.5 KB
  • 大小: 30 KB
分享到:
评论

相关推荐

    黑马程序员_毕向东_Java基础视频教程第22天-06-GUI(Action事件).zip

    黑马程序员_毕向东_Java基础视频教程第22天-06-GUI(Action事件).zip

    传智播客.黑马程序员《Java 基础入门》课后习题答案

    行时所需要的基本条件和许多 Java 基础类,例如,IO 类、GUI 控件类、网络类等。JRE 是提供给 普通用户使用的,如果你只想运行别人开发好的 Java 程序,那么,你的计算机上必须且只需安装 JRE。 JDK(Java ...

    传智播客_Java培训_毕向东_Java基础[08-GUI]

    传智播客_Java培训_毕向东_Java基础[08-GUI]系黑马程序员_毕向东_Java基础视频教程 GUI •Graphical User Interface(图形用户接口)。 • 用图形的方式,来显示计算机操作的界面,这样更方便更直 观。 CLI •...

    java拼图游戏源码.zip

    这是一个java写的拼图游戏,用了swing、多线程等知识,可以设置行数列、列数、还有使用多线程写的游戏动画,拼图的图块具有磁贴设计,代码封装性较强,容易移植,纯原创。

    java基础,毕向东

    黑马程序员_毕向东_Java基础视频教程第22天-01-GUI(概述).zip

    黑马程序员--银行管理系统

    模拟实现银行业务调度系统逻辑,具体需求如下: 1.银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。...7.不要求实现GUI,只考虑系统逻辑实现,可通过Log方式展现程序运行结果。

    黑马程序员-Python-Django实现从0开发一个博客系统.zip

    Python使用技巧,实战应用...详细介绍了一些Python框架的各种功能和模块,以及如何使用Python进行GUI开发、网络编程和跨平台应用开发等。 适用于初学者和有经验的开发者,能够帮助你快速上手JPython并掌握其高级特性。

    weka java去gui版本

    Weka,基于JAVA环境下开源的机器学习...本资源在weka基础上移除了gui相关代码,极大程度上减小了jar包大小,以便更好的使用其java api。 相关参考文档:https://blog.csdn.net/andy_5826_liu/article/details/84453954 ...

    Java源码包100个设计实例.zip

    JAVA帮助视图组件库 Help GUI 1.1源代码.rar JAVA开发的打字软件源程序.rar Java开发的简单WEB服务器源码.rar Java数据压缩与传输实例 Java数组倒置 Java日期选择控件完整源代码.rar Java机车狂飙源代码.rar Java...

    java图形界面五子棋

    java图形界面五子棋,界面比较美观 ;功能也非常强大,里面注释也很多

    Java拼图小游戏中图片资源

    简介:拼图小游戏中所需要用到的背景图片(来源B站黑马程序员) 功能:为对拼图小游戏(Java)感兴趣的小伙伴,以及学完基础Java知识,想检验自己学习成果的小伙伴提供便利 用法:只需要再做项目的时候直接导入...

Global site tag (gtag.js) - Google Analytics