怎么样很好理解ActionListener. 可视化编程根本就没这东西 我学JAVA以后,最难理解的就这个东东.我以前用DELPHI根本就是拖拖拉拉,左侧事件选择下,即可写代码痛苦啊既生我,又何生JAVA 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 此回复为自动发出,仅用于显示而已,并无任何其他特殊作用楼主【sure2003】截止到2008-06-24 13:49:29的历史汇总数据(不包括此帖):发帖数:175 发帖分:8356 结贴数:173 结贴分:8291 未结数:2 未结分:65 结贴率:98.86 % 结分率:99.22 % 值得尊敬 delphi中肯定有相应的机制,可能是隐藏起来了,你用jb试试,说不定可以达到你要的效果 ActionListener是个监听器,你如果要对某个按钮监听,要写个listener实现ActionListener,再将这个listener加到你要监听的对象上,比如button.addActionListener(listener),ActionListener的实现可以好几种:内部类,匿名类,外部类,自身(常用) 在DELPHI里面,每个按钮的动作就是一个事件,而这个事件就相当于java中的 ActionListener,在DELPHI中,鼠标每次点击按钮就会执行对应的事件,而java中对应的时间就是ActionListener中的actionPerformed()方法,所以事件的内容就写在这个方法里面.不同的就是,在DELPHI中不需要程序员为按钮加这个事件的监听,它是自动完成监听,而在java中是需要程序员自己为按钮添加监听的,如:JButton s_button=new JButton("按钮");s_button.addActionListener(ActiongListener对象);这样,只要按钮被点击,就绘执行ActiongListener对象中的actionPerformed()方法 ActionListener 也不是很明白,关注! s_button.addActionListener(ActiongListener对象); 原来奥妙还在ActionListener的对象里啊我的理解actionPerformed()应该是个抽象的方法吧这样我们就可以重写了 你的所有操作就是要写在actionPerformed()中的 你实现ActionListener这个接口,当然要重写actionPerformed这个方法了,方法里就是你具体的逻辑 例如public class MyButtonActionLietener implements ActionListener{ public void actionPerformed(ActionEvent e) { System.out.println("你点击了按钮"); } }JButton s_button=new JButton("按钮"); s_button.addActionListener(new MyButtonActionLietener()); 自己写的listener里会重写actionPerformed这个方法,方法体里就是自己想要实现的东西. s_button.addActionListener(new MyButtonActionLietener()); 这个参数不固定吗?我还以为都是 (ActionEvent e) s_button.addActionListener(new MyButtonActionLietener()); 只要是实现了ActionListener接口的对象都可以的,因为 MyButtonActionLietener实现了ActionListener就可以,如果我们有另外一个类public class MyButtonActionLietener2 implements ActionListener{ public void actionPerformed(ActionEvent e) { System.out.println("你真的点击了按钮"); } } 那么就写成,s_button.addActionListener(new MyButtonActionLietener2 ()); 还有,建议楼主多看书,先看点基础的书,多做例子,应该两天就够了 (new 类名)这个类名是不是一定要有这一句:implements ActionListener ActionListener就是一个动作监听器,通过它能传递你组件需要实现的功能,没有它你的组件就只是一个图标,没有实际的功能意义。以上楼都说了怎么使用ActionListener了,这里就不赘述了。 第一种import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;public class TestActionListener1 implements ActionListener { public void actionPerformed(ActionEvent e) { System.out.println("你点击了按钮"); } public void test() { JButton s_button = new JButton("按钮"); s_button.addActionListener(this); }}第二种import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;public class TestActionListener2 { public void test() { JButton s_button = new JButton("按钮"); MyButtonActionListener s_listener = new MyButtonActionListener(); s_button.addActionListener(s_listener); } private class MyButtonActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { System.out.println("你点击了按钮"); } }}第三种:public class TestActionListener3 { public void test() { JButton s_button = new JButton("按钮"); s_button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.out.println("你点击了按钮"); } }); }} NetBeans IDE 同样可以拖拖拉拉,双击一下就写事件处理代码,下载地址:http://www.netbeans.org 我们写JAVA程序都是用JBuilder的,它是可视化的,图形化编程的组件都有,也是拖拖拉拉,事件直接双击就可以编写了,那些ActionListener根本不需要你去写,很容易就编写出小的图形化应用程序了 可以直接继承ActionListener这个类,实现它的方法,也可以用匿名内部类来实现,例子: JButton button = new JButton("确定"); button.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { System.out.println("请点确定按钮"); } }); 这样子父类可以强制转化成子类,神奇 java中常用的数据结构封装在哪里了? 新手提问,高手看看这段代码哪里错???? 投身Java,我应该从哪开始? 请教高手:如何动态加载不同的数据库驱动 那位高人解释这个hashCode()为什么要这么写? Thinking in Java 3rd Edition 中文版 有没有其他方法能让JBuilder 8支持更多的字体?像Courier等字体! 请教关于JAVA编写DOM的初级问题,望高手提鞋!!! 关于join();的问题,麻烦大家赐教,谢谢哦 jdk1.4 和1.5的所有区别,你知道多少? thinking in java是一本好书吗?
楼主【sure2003】截止到2008-06-24 13:49:29的历史汇总数据(不包括此帖):
发帖数:175 发帖分:8356
结贴数:173 结贴分:8291
未结数:2 未结分:65
结贴率:98.86 % 结分率:99.22 %
值得尊敬
你用jb试试,说不定可以达到你要的效果
你如果要对某个按钮监听,
要写个listener实现ActionListener,
再将这个listener加到你要监听的对象上,
比如button.addActionListener(listener),
ActionListener的实现可以好几种:内部类,匿名类,外部类,自身(常用)
在DELPHI中,鼠标每次点击按钮就会执行对应的事件,而java中对应的时间就是ActionListener中的actionPerformed()方法,所以事件的内容就写在这个方法里面.
不同的就是,在DELPHI中不需要程序员为按钮加这个事件的监听,它是自动完成监听,
而在java中是需要程序员自己为按钮添加监听的,如:
JButton s_button=new JButton("按钮");
s_button.addActionListener(ActiongListener对象);
这样,只要按钮被点击,就绘执行ActiongListener对象中的actionPerformed()方法
我的理解
actionPerformed()应该是个抽象的方法吧
这样我们就可以重写了
方法里就是你具体的逻辑
public class MyButtonActionLietener implements ActionListener{
public void actionPerformed(ActionEvent e) {
System.out.println("你点击了按钮");
}
}JButton s_button=new JButton("按钮");
s_button.addActionListener(new MyButtonActionLietener());
这个参数不固定吗?
我还以为都是 (ActionEvent e)
只要是实现了ActionListener接口的对象都可以的,
因为 MyButtonActionLietener实现了ActionListener就可以,
如果我们有另外一个类
public class MyButtonActionLietener2 implements ActionListener{
public void actionPerformed(ActionEvent e) {
System.out.println("你真的点击了按钮");
}
}
那么就写成,
s_button.addActionListener(new MyButtonActionLietener2 ()); 还有,建议楼主多看书,先看点基础的书,多做例子,应该两天就够了
这个类名是不是一定要有这一句:
implements ActionListener
以上楼都说了怎么使用ActionListener了,这里就不赘述了。
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;public class TestActionListener1 implements ActionListener { public void actionPerformed(ActionEvent e) {
System.out.println("你点击了按钮");
} public void test() {
JButton s_button = new JButton("按钮");
s_button.addActionListener(this);
}
}第二种
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
public class TestActionListener2 { public void test() {
JButton s_button = new JButton("按钮");
MyButtonActionListener s_listener = new MyButtonActionListener();
s_button.addActionListener(s_listener);
} private class MyButtonActionListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
System.out.println("你点击了按钮");
}
}
}第三种:
public class TestActionListener3 {
public void test() {
JButton s_button = new JButton("按钮");
s_button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("你点击了按钮");
}
});
}
}
例子:
JButton button = new JButton("确定");
button.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) {
System.out.println("请点确定按钮");
}
});