在Java中如何为生成的每一个按钮单独添加消息响应函数?

packageTest2;importjava.awt.*;importjavax.swing.*;publicclassFlowLayoutTestextendsJFr... package Test2;
import java.awt.*;
import javax.swing.*;
public class FlowLayoutTest extends JFrame{
public FlowLayoutTest()
{
setTitle("test");
Container c=getContentPane();
setLayout(new FlowLayout());
setVisible(true);
for(int i=0;i<=5;i++)
{
JButton jb=new JButton("button "+i);
c.add(jb);
}
setBounds(100,100,300,200);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new FlowLayoutTest();
}
}
运行的结果如图:
展开
 我来答
剑香飘雨
推荐于2016-06-11 · TA获得超过515个赞
知道小有建树答主
回答量:172
采纳率:100%
帮助的人:130万
展开全部
给每一个按钮加监听事件,例如button.addActionListener(new ActionListener(){
public void performed(){}
});
这里采用匿名内部类的形式,需要重写其实现方法,这样就给按钮加上了监听事件了
简单的程序如下

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class JTextFieldTest extends JFrame{

public JTextFieldTest(){
setSize(250,100);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
Container cp=getContentPane();
getContentPane().setLayout(new FlowLayout());
final JTextField jt=new JTextField("aaa",20);
final JButton jb=new JButton("清除");
cp.add(jt);
cp.add(jb);
jt.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
// TODO 自动生成方法存根
jt.setText("触发事件");
}
});
jb.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
jt.setText("");
jt.requestFocus();
}
});
setVisible(true);
}
public static void main(String[] args) {
new JTextFieldTest();
}
}
你可以参考看看
追问
前面提到的添加方法我也会,我是想问的是假如用下面的方式生成按钮
for(int i=0;i<=5;i++)
{
JButton jb=new JButton("button "+i);
c.add(jb);
}
我不知道每一个按钮的名字,请问如何分别给每一个按钮添加消息响应函数?
追答
new JButton("button "+i);这里面的参数就是名字啊!!

你也可以在for循环里面加事件监听啊!!!
你加的按钮肯定得有标识让系统知道你执行的是哪个按钮吧!!
你难道是想问怎么知道是哪个按钮点击了???
获得按钮点击的有几种方法,如
protected void do_button_actionPerformed(ActionEvent e) {
String resource = "";
if (e.getSource() == button1)// 确定用户单击的按钮
resource = "icon1.png";// 确定按钮对应的图标文件
if (e.getSource() == button2)
resource = "icon2.png";
if (e.getSource() == button3)
public String getActionCommand()返回此按钮的动作命令。

即可以通过得到的命令或者源的不同给按钮实现不同的动作
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式