黑马程序员--java学习总结(9)

  1. ------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

----java图形化界面
创建图形化界面的步骤:
1,创建frame窗体。
2,对窗体进行基本设置,比如大小,位置,布局。
3,定义组件。
4,将组件通过窗体的add方法添加到窗体中。
5,让窗体显示,通过setVisible(true)。

事件监听机制的特点:
1,事件源。
2,事件。
3,监听器。
4,事件处理。
事件源:就是awt包或者swing包中的那些图形界面组件。
事件:每一个事件源都有自己特有的对应事件和共性事件。
监听器:将可以触发某一个事件的动作(不只一个动作)都已经封装到了监听器中。
以上三者,在java中都已经定义好了,直接获取其对象来用就可以了,我们要做的事情是,就是对产生的动作进行处理。
import java.awt.*;
import java.awt.event.*;


class MouseAndKeyEvent 
{
	private Frame f;
	private Button but;
	private TextField tf;

	MouseAndKeyEvent()
	{
		init();
	}

	public void init()
	{
		f = new Frame("my frame");

		f.setBounds(300,100,600,500);
		f.setLayout(new FlowLayout());

		tf = new TextField(20);

		but = new Button("my button");


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


		myEvent();

		f.setVisible(true);

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


		tf.addKeyListener(new KeyAdapter()
		{
			public void keyPressed(KeyEvent e)
			{
				int code = e.getKeyCode();
				if(!(code>=KeyEvent.VK_0 && code<=KeyEvent.VK_9))
				{
					System.out.println(code+".....是非法的");
					e.consume();
				}


			}
		});

		//给But添加一个键盘监听。
		but.addKeyListener(new KeyAdapter()
		{
			public void keyPressed(KeyEvent e)
			{	
				if(e.isControlDown()&&e.getKeyCode()==KeyEvent.VK_ENTER)
					//System.exit(0);
				System.out.println("ctrl+enter is run");

				//System.out.println(KeyEvent.getKeyText(e.getKeyCode())+"...."+e.getKeyCode());
			}
		});



		/*
		but.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				System.out.println("action ok");
			}
		});
		*/

		/*

		but.addMouseListener(new MouseAdapter()
		{
			private int count = 1;
			private int clickCount = 1;
			public void mouseEntered(MouseEvent e) 
			{
				System.out.println("鼠标进入到该组件"+count++);
			}
			public void mouseClicked(MouseEvent e)
			{
				if(e.getClickCount()==2)
					System.out.println("双击动作"+clickCount++);
			}
		});
		*/
	}






	public static void main(String[] args) 
	{
		new MouseAndKeyEvent();
	}
}
----如何制作可以双击执行的jar包:
1,将多个类封装到了一个包(package)中。
2,定义一个jar包的配置信息。
定义一个文件a.txt 。文件内容内容为:
Main-Class:(空格)包名.类名(回车)
3,打jar包。
jar -cvfm my.jar a.txt 包名
4,通过winrar程序进行验证,查看该jar的配置文件中是否有自定义的配置信息。
5,通过工具--文件夹选项--文件类型--jar类型文件,通过高级,定义该jar类型文件的打开动作的关联程序。
jdk\bin\javaw.exe -jar
6,双击就可以了!。

----正则表达式
好处:正则表达式的出现,对字符串的复杂操作变得更为简单。
特点:将字符串操作的字节码用一些符号来表示。只要使用了指定的符号,就可以调用底层的代码对字符串进行操作。符号的出现,简化了代码的书写。
弊端:符号的出现虽然简化了书写,但是却降低了阅读性。

常见的操作:
1.匹配:其实用的就是String类中的matches方法。
String reg="[1-9][0-9]{4,14}";
boolean b=qq.matches(reg);//将正则表达式和字符串关联对字符串进行匹配。
2.切割:其实用的就是String类中的split方法。
3.替换:其实用的就是String类中的replaceAll方法。
4.获取:
1).先要将正则表达式编译成正则对象,使用的是Pattern中的静态方法compile(regex)。
2).通过pattern对象获取Matcher对象(Pattern用于描述正则表达式,可以对正则表达式进行解析,而将规则操作字符串,需要从新封装到匹配器对象Matcher中,然后使用Matcher对象的方法操作字符串。调用pattern对象中的matcher方法可以返回一个匹配器对象。)
3).使用Matcher对象中的方法即可对字符串进行各种正则操作。

组的概念:
用小括号标示,每定义一个小括号,就是一个组,而且自动编号,从1开始.只要使用组,对应的数字就是该组的内容。注意,数组要加\\。
(aaa(wwww(ccc))(ddd))技巧,从左括号开始数,有几个左括号就是几组。
用于处理字符串中有叠词的情况。
(.)\1+表示第一个元素为任意字符,第二个元素为和第一个相同的字符(其中1代表取的是前面的第几组,+代表这个字符出现了一次或者多次)。




评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值