java编写事件处理代码,编写事件过程代码
Java 事件处理
Container contentpane = f.getContentPane();//创建容器
专注于为中小企业提供成都网站制作、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业香河免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
contentpane.setLayout(null);//设置容器的布局为“没有布局”
l.setBounds(0, 0, 0, 0);//设置jlabel边界
b.setBounds(0, 0, 0, 0);//设置jbutton边界
b.addActionListener(new ButtonHandle());//jbutton添加动作监听器
b.addMouseListener(new ButtonMouseHandle());//jbutton添加鼠标动作监听器
f.addWindowListener(new WindowHandle());//jframe添加窗口监听器
contentpane.add(l);//把jlabel放入容器
contentpane.add(b);//把jbutton放入容器
f.setSize(0, 0);//设置jframe长宽
f.setVisible(true);//设置jframe为可见
类ButtonHandle实现ActionListener的接口,设置事件触发后需要做的事情
class ButtonHandle implements ActionListener{
public void actionPerformed(ActionEvent e)
{
l.setText("");
}
}
类ButtonMouseHandle继承MouseAdapter,设置事件触发后需要做的事情
class ButtonMouseHandle extends MouseAdapter{
public void mouseEntered(MouseEvent e)
{
l.setText("");
}
public void mouseExited(MouseEvent e)
{
l.setText("");
}
}
类WindowHandle 继承WindowAdapter,设置事件触发后需要做的事情
class WindowHandle extends WindowAdapter{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
还有就是为什么构造函数里获得container,设置JLabel,JButton等,并且在里面注册监听,因为当创建这个类的时候,是先调用这个类的构造函数,这样你只要在new Demo5()的时候,就已经把需要做的事情都做好了,否则你还需要自己打上方法,然后再调用
JAVA语言编写事件处理程序的两种主要方案
java语言编写事件处理程序主要有两种方案:一个是程序重设方法handleEvent(Event),采用这个方案的程序工作量稍大。另一个是程序实现一些系统设定的接口。java按事件类型提供多种接口,作为监视器对象的类需要实现相应的接口,即实现响应事件的方法。当事件发生时,系统内设的handleEvent(Event evt)方法就自动调用监视器的类实现的响应事件的方法。
java.awt.event包中用来检测并对事件做出反应的模型包括以下三个组成元素:
(1)源对象:事件发生在这个组件上,它与一组侦听该事件的对象保持着联系。
(2)监视器对象:是一个实现预定义的接口的类的一个对象,该对象的类要提供对发生的事件作处理的方法。
(3)事件对象:包含描述当事件发生时从源传递给监视器的特定事件的信息。
java事件处理
1.第一个你只是陈述了一些东西,你想问什么?不过是哪个,我不太理解keyTeyped最先激发这句话,因为应该是先产生pressed事件,然后typed,然后released
2.getkeycode的话大小写的确是一样的,但是KeyEvent里面方法啊,常数啊很多,我记得应该是可以shift是否按下的
3.第二种写法当然是要创建FrameDemo,因为processWindowEvent是FrameDemo的方法,而不是jframe的方法,你新建一个jframe实例,按键的时候是不会调用你写的processWindowEvent方法的
----------------------------------------------------------
因为对于 KEY_TYPED 事件,该 keyCode 为 VK_UNDEFINED。这是api上的说法。但是你说的那个因果关系我也不明白。。
谢谢 拿分 走人1.第一个你只是陈述了一些东西,你想问什么?不过是哪个,我不太理解keyTeyped最先激发这句话,因为应该是先产生pressed事件,然后typed,然后released
2.getkeycode的话大小写的确是一样的,但是KeyEvent里面方法啊,常数啊很多,我记得应该是可以shift是否按下的
3.第二种写法当然是要创建FrameDemo,因为processWindowEvent是FrameDemo的方法,而不是jframe的方法,你新建一个jframe实例,按键的时候是不会调用你写的processWindowEvent方法的
----------------------------------------------------------
因为对于 KEY_TYPED 事件,该 keyCode 为 VK_UNDEFINED。这是api上的说法。但是你说的那个因果关系我也不明白。。
1.第一个你只是陈述了一些东西,你想问什么?不过是哪个,我不太理解keyTeyped最先激发这句话,因为应该是先产生pressed事件,然后typed,然后released
2.getkeycode的话大小写的确是一样的,但是KeyEvent里面方法啊,常数啊很多,我记得应该是可以shift是否按下的
3.第二种写法当然是要创建FrameDemo,因为processWindowEvent是FrameDemo的方法,而不是jframe的方法,你新建一个jframe实例,按键的时候是不会调用你写的processWindowEvent方法的
----------------------------------------------------------
因为对于 KEY_TYPED 事件,该 keyCode 为 VK_UNDEFINED。这是api上的说法。但是你说的那个因果关系我也不明白。。
分享标题:java编写事件处理代码,编写事件过程代码
分享链接:http://azwzsj.com/article/hoggec.html