java一个按钮添加多个事件,[求助]添加一个按钮事件

[求助]添加一个按钮事件

如何给 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();

}

}----------------解决方案--------------------------------------------------------

或说有没有更简单的方法为一个按钮添加点击事件?

----------------解决方案--------------------------------------------------------

已找一种方法解决就是

NorthButton.addActionListener(new ActionListener(){ //注册监听器..其实就是添加监听器

public void actionPerformed(ActionEvent e) //实现监听器

{

NorthButton.setText("你已经点过我了!");

}

});

注册之后直接实现..现在想问一下可不可以注册监听器时参数改成自己编写的方法,而自己的方法去重写了public void actionPerformed(ActionEvent e)方法呢?

以1楼为例,如何改成上面红色代码的效果?

----------------解决方案--------------------------------------------------------

正如楼上所说的用匿名类实现;

或者为每个按钮加上addActionListener(this)后再在public void actionPerformed(ActionEvent e)函数里实现相应功能,你的问题是没有为你的JButton组件加入监听(addActionListener(this))

----------------解决方案--------------------------------------------------------

谢谢!

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

谢谢了~~

----------------解决方案--------------------------------------------------------

楼上的朋友建议点一下是以文本的方式提示

你是需要弹出一个消息框就应该改成:

NorthButton.addActionListener(new ActionListener(){ //注册监听器..其实就是添加监听器

public void actionPerformed(ActionEvent e) //实现监听器

{

JOptionPane.showMessageDialog(this,"你已点击了我","消息",JOptionPane.INFORMATION_MESSAGE);

}

}

----------------解决方案--------------------------------------------------------

感觉最好还是别用匿名类实现~~这样程序看上去很乱~~

----------------解决方案--------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值