java怎么实现在一个类中放置监听器,而在另一个类中事件呢?

比如说我定义了两个类,a和b类,我在a类当中写窗体、组件、监听器等,在b类当中写a类中要用到的事件,比如当a类中的按钮点击时,就调用b类中相应的事件,该怎么写?本人新手,... 比如说我定义了两个类,a和b类,我在a类当中写窗体、组件、监听器等,在b类当中写a类中要用到的事件,比如当a类中的按钮点击时,就调用b类中相应的事件,该怎么写?本人新手,希望说的通俗易懂一些,最好有代码示范,谢谢各位了 展开
 我来答
百度网友dd33b43
2013-02-13
知道答主
回答量:23
采纳率:0%
帮助的人:19.2万
展开全部
在A类中new一个B类...在给A类的按钮添加监听时...添加的是B类的监听...
例如:(简写,希望看得懂)
class A extends JFrame
{
public A()

{

X = new B();
…… //省略,假设这里new了各种组件

A的某个组件.addActionListener(X); //给组件添加B的监听,这样这个组件在触发某个事件时,就可以调用B类中的事件了

}

}

class B implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
…… //这是写触发时说要做的事...当A中添加了B类监听的组件相应触发事件时,就会自动调用这里了

}
}

总而言之,就是当你想使用某个类(B)作为对于触发事件的处理时,就让这个类(B)去implements监听,然后在你需要的组件上添加对B的监听(组件.addXXXListener(X))就可以了...
addXXXListener(?),这个函数在触发了事件时,会自动去找?类中相应的方法去处理事件...
来自:求助得到的回答
fuhaiwei
2013-02-13 · TA获得超过3409个赞
知道大有可为答主
回答量:974
采纳率:75%
帮助的人:1379万
展开全部
//这是A类

import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;

public class MyFrame extends JFrame {
private JButton addButton;
private JTextField resultText;

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

public MyFrame() {
setSize(400, 300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(new FlowLayout());
resultText = new JTextField(20);
addButton = new JButton("+1");
addButton.addActionListener(new AddButtonAction(resultText));
add(resultText);
add(addButton);
setVisible(true);
}
}
//这是B类
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JTextField;

public class AddButtonAction implements ActionListener {
private JTextField resultText;

public AddButtonAction(JTextField resultText) {
this.resultText = resultText;
}

public void actionPerformed(ActionEvent e) {
try {
int value = Integer.parseInt(resultText.getText());
resultText.setText(String.valueOf(value + 1));
} catch (NumberFormatException ne) {
resultText.setText("your input string is not a number!");
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式