Java总结-图形界面编程_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Java总结-图形界面编程

Java总结-图形界面编程

 2012/2/15 9:08:43  caiwb1990  程序员俱乐部  我要评论(0)
  • 摘要:图形界面编程:java将图形界面所需要的组件都存在了java.awt包中以及后期基于awt出现javax.swing包中。awt:不跨平台,依赖平台的显示样式及效果。swing:跨平台。Component:|--Button|--Label:想要往组件中添加文本信息,需要先将文本封装成组件。使用的就是label对象。|--Container:是构件的一个特殊子类,特点可以存储组件。|--Panel:面板,不单独存在。需要存入window中。|--Window|--Frame:用于创建窗体。|-
  • 标签:总结 Java 编程
图形界面编程:
	java将图形界面所需要的组件都存在了java.awt包中以及后期基于awt出现javax.swing包中。
	awt:不跨平台,依赖平台的显示样式及效果。
	swing:跨平台。

	Component:
		|--Button		
		|--Label:想要往组件中添加文本信息,需要先将文本封装成组件。使用的就是label对象。
		|--Container:是构件的一个特殊子类,特点可以存储组件。
			|--Panel:面板,不单独存在。需要存入window中。
			|--Window
				|--Frame:用于创建窗体。
				|--Dialog
					|--FileDialog:有两个模式,LOAD(默认) SAVE用于对文件进行选取和指定。
		|--TextComponent
			|--TextField
			|--TextArea
	
	定义图形界面的简单操作。
	import java.awt.*;
	import java.awt.event.*;
	class MyFrame
	{
		private Frame f;
		private Button b;
		MyFrame()
		{
			init();
		}

		public void init()
		{
			f = new Frame("my Frame");
			f.setBounds(300,200,600,500);
			f.setLayout(new FlowLayout());

			b = new Button("my button");

			f.add(b);

			myEvent();

			f.setVisible(true);
		}
		private void myEvent()
		{
			f.addWindowListener(new WindowAdapter()
			{
				public void windowClosing(WindowEvent e)
				{
					System.exit(0);
				}
			});

			/*
			点击按钮也可以实现关闭程序。
			1,确定事件源。button。
			2,确定事件,ActionEvent  MouseEvent 
			3,将活动事件注册到事件源上。注册时就需要先知道监听器。ActionListener。
			4,使用事件源的addXXXListener方法将XXXListener的子类对象作为参数传递给add方法即可完成监听动作。
			5,覆盖监听接口或者监听接口的子类监听适配器中的方法。定义事件对应的动作处理方式。
			*/

			b.addActionListener(new ActionListener()
			{
				public void  actionPerformed(ActionEvent e)
				{
					System.exit(0);
				}
			});
		}
	}

	另一种方式: 自定义Frame的子类对象也可以创建窗体。

	----------------
	事件监听机制。
	组成部分:
	1,事件源:其实就是awt中的组件。
	2,事件:就是event包中的所有Event对象。
	3,监听器:就是event包中的所有Listener接口。
	4,事件处理方式:其实就是在定义可以触发事件的动作内容。

	鼠标事件:MouseEvent。
		可通过该事件对象的 getClickCount()==2判断鼠标双击动作。

	键盘事件:KeyEvent。
		getKeyCode():获取按钮对应的code。
		getKeyChar():返回的是键上的字母或数字符号,注意返回的是一个字符。查看不了shift。
		getKeyText(code):返回的多字母按键。

		如何实现ctrl+Enter组合键。
		if(e.isControlDown() && e.getKeyCode()==KeyEvent.VK_ENTER)

	
	--------------
	菜单:
	MenuComponent
		|--MenuBar:菜单栏。菜单栏中存放菜单Menu。
		|--MenuItem
			|--Menu:菜单,其中存放菜单项MenuItem

	MenuBar mb = new MenuBar();

	Menu m = new Menu("文件");

	MenuItem mi = new MenuItem("打开");

	m.add(mi);
	mb.add(m);

	frame.setMenuBar(mb);

	//创建子菜单。

	MenuBar mb = new MenuBar();

	Menu m = Menu("文件");
	Menu demo = Menu("demo");

	MenuItem mi = new MenuItem("打开");

	MenuItem sub = new MenuItem("sub");

	demo.add(sub);

	m.add(demo);
	m.add(mi);
	mb.add(m);

	frame.setMenuBar(mb);

	菜单对应的事件也是ActionEvent,对应的监听器ActionListener。


	双击jar执行。
	注意,自定义配置文件时,需要Main-Class:空格包名.主函数类名回车




发表评论
用户名: 匿名