标题:[求助]添加一个按钮事件
只看楼主
limaoyuan
Rank: 1
等 级:新手上路
帖 子:493
专家分:0
注 册:2006-6-25
 问题点数:0 回复次数:6 
[求助]添加一个按钮事件

如何给 NorthButton 按钮添加一个点击事件 点击后添出一个消息框显示点了NorthButton就行..

我试了几下,也看了几个老贴的例子..依然没改好,哪位朋友能告诉我下该把事件的实现代码加在哪里?或是说我这代码还有更多的问题?

谢谢!!

代码
************************************************************************

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

class MyFrame extends JFrame
{
JPanel MyPanel;
JButton NorthButton;
JButton SouthButton;
JButton EastButton;
JButton WestButton;
MyFrame()
{
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(300,300);
setTitle("东南西北BorderLayout练习");
Init();
show();
}
void Init()
{
MyPanel = (JPanel)getContentPane();
BorderLayout b = new BorderLayout();
MyPanel.setLayout(b);
NorthButton = new JButton("北");
SouthButton = new JButton("南");
EastButton = new JButton("东");
WestButton = new JButton("西");
NorthButton.setSize(60,20);
SouthButton.setSize(80,20);
MyPanel.add(NorthButton,BorderLayout.NORTH);
MyPanel.add(SouthButton,BorderLayout.SOUTH);
MyPanel.add(EastButton,BorderLayout.EAST);
MyPanel.add(WestButton,BorderLayout.WEST);

NorthButton.addActionListener(new my());//注册监听器
}
}

class my implements ActionListener //实现监听器
{
public void actionPerformed(ActionEvent e)
{

//是在这里面实现吗?我怎么弄不出来?

}

}
class Frame1
{
public static void main(String [] args)
{
MyFrame fr = new MyFrame();
}
}

搜索更多相关主题的帖子: 按钮 import awt java NorthButton 
2006-10-17 15:03
limaoyuan
Rank: 1
等 级:新手上路
帖 子:493
专家分:0
注 册:2006-6-25
得分:0 
或说有没有更简单的方法为一个按钮添加点击事件?

我在说's blog   http://www..cn
2006-10-17 15:06
limaoyuan
Rank: 1
等 级:新手上路
帖 子:493
专家分:0
注 册:2006-6-25
得分:0 

已找一种方法解决就是
NorthButton.addActionListener(new ActionListener(){ //注册监听器..其实就是添加监听器
public void actionPerformed(ActionEvent e) //实现监听器
{
NorthButton.setText("你已经点过我了!");
}

});

注册之后直接实现..现在想问一下可不可以注册监听器时参数改成自己编写的方法,而自己的方法去重写了public void actionPerformed(ActionEvent e)方法呢?
以1楼为例,如何改成上面红色代码的效果?


我在说's blog   http://www..cn
2006-10-17 15:17
dingoo
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-10-10
得分:0 
正如楼上所说的用匿名类实现;
或者为每个按钮加上addActionListener(this)后再在public void actionPerformed(ActionEvent e)函数里实现相应功能,你的问题是没有为你的JButton组件加入监听(addActionListener(this)

2006-10-17 16:14
limaoyuan
Rank: 1
等 级:新手上路
帖 子:493
专家分:0
注 册:2006-6-25
得分:0 

谢谢!

现在我知道的问题已经大概又明白了一点点儿...

谢谢了~~


我在说's blog   http://www..cn
2006-10-17 22:11
tblovecj
Rank: 1
等 级:新手上路
帖 子:181
专家分:0
注 册:2006-9-20
得分:0 

楼上的朋友建议点一下是以文本的方式提示
你是需要弹出一个消息框就应该改成:
NorthButton.addActionListener(new ActionListener(){ //注册监听器..其实就是添加监听器
public void actionPerformed(ActionEvent e) //实现监听器
{
JOptionPane.showMessageDialog(this,"你已点击了我","消息",JOptionPane.INFORMATION_MESSAGE);
}


}


2006-10-18 18:46
xhdwell
Rank: 1
等 级:新手上路
帖 子:124
专家分:0
注 册:2006-5-15
得分:0 
感觉最好还是别用匿名类实现~~这样程序看上去很乱~~

坚持自己的选择!向着理想迈出了第一步!
2006-10-18 22:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-96911-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012030 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved