java中的addbutton表达什么_button1.addActionListener(this); 这句话什么意思啊????...

button1.addActionListener(this); 这句话什么意思啊????

button1.addActionListener(this); 这个是什么意思啊???

特别是这个addActionListener 什么意思呢???

搜索更多相关的解决方案:

意思

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

就是把这个button1实例加上一个监听器,这样的话,当鼠标点击了这一个button1的时候就会触发这一个监听器。

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

button1.addActionListener(this);

就是把当前的类设成button1的Listener;

那么就可以在当前的类中添加方法以响应button1的点击,比如:

void actionPerformed(ActionEvent e)

{

//响应button1的点击的代码;

}

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

如果看了楼上的还不明白的话

你可以直接认为点了这个叫button1的按钮后可以做想做的事情,比如弹格对话框出来

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

哦~可以吧参数设置成this么~我一直都用的是new一个匿名类再实现actionPerformed方法,

或者是实现接口ActionListener来做的;

请问还有其他方法不呢!

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

还有一个疑问就是用了button1.addActionListener(this);

还可以在使用其他多个不同组件时像这样添加监听器么?

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

一般的Swing组件都可以添加

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

就是给button加一个监听器,也就是加一个button状态变化的观察者。这是观察者模式的应用。

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

非常感谢大家,上面的说的很对,一般的Swing类都可以用这个方法,

bt1.addActionListener(this);

bt2.addActionListener(this);

public void actionPerformed(ActionEvent e)

我想再问大家一下,这个是跟上面搭配使用的吗??也就是实现bt1。bt2动作的吗???

那这个actionPerformed(ActionEvent e) 怎么解释呢,有点不明白,是一个标准的用法吗??/还是可以换别的参数或者方法的???

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

public void actionPerformed(ActionEvent e)是在ActionListener(接口)中定义的方法,框架都不能动;

而你的那个类(this)应该是有实现了ActionListener这个接口的吧;

所以方法的框架Java都帮你写好了,你只要在这个方法中加进你要实现的代码就可以了,现在lz不用太去深入他的机制,等你学深了之后就会慢慢明白的了;

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

  • 7
    点赞
  • 12
    收藏 更改收藏夹
  • 打赏
    打赏
  • 0
    评论
import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; public class key extends JFrame { int shu1; JLabel jl1, jl2; String cc; JButton queding, xuanz, jiami, jiemi; JTextField lujin, key; JTextArea nr; JRadioButton qu, xie; ButtonGroup fz; File f; public key() { this.setTitle("Java加密与解密"); Container c = getContentPane(); JPanel jp1 = new JPanel(); jl1 = new JLabel("输入路径"); lujin = new JTextField(15); xuanz = new JButton("选择"); jp1.add(jl1); jp1.add(lujin); jp1.add(xuanz); c.add(jp1, BorderLayout.NORTH); nr = new JTextArea(); c.add(new JScrollPane(nr), BorderLayout.CENTER); qu = new JRadioButton("写入"); xie = new JRadioButton("取出", true); fz = new ButtonGroup(); fz.add(qu); fz.add(xie); jl2 = new JLabel("密钥"); key = new JTextField(15); jiami = new JButton("加密"); jiemi = new JButton("解密"); JPanel jp4 = new JPanel(); jp4.setLayout(new GridLayout(2, 1, 5, 5)); JPanel jp2 = new JPanel(); jp2.add(jl2); jp2.add(key); jp2.add(jiami); jp2.add(jiemi); jp4.add(jp2); JPanel jp3 = new JPanel(); queding = new JButton("确定"); jp3.add(qu); jp3.add(xie); jp3.add(queding); jp4.add(jp3); c.add(jp4, BorderLayout.SOUTH); queding.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { jian(); if (qu.isSelected()) shuchu(); if (xie.isSelected()) qu(); } }); xuanz.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { JFileChooser fileChooser = new JFileChooser(); // 实例化文件选择器 fileChooser .setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); // 设置文件选择模式,此处为文件和目录均可 if (fileChooser.showOpenDialog(key.this) == JFileChooser.APPROVE_OPTION) { // 弹出文件选择器,并判断是否点击了打开按钮 String fileName = fileChooser.getSelectedFile() .getAbsolutePath(); // 得到选择文件或目录的绝对路径 lujin.setText(fileName); } } }); jiemi.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { ObjectInputStream input; try { input = new ObjectInputStream(new FileInputStream(lujin .getText())); int mima = Integer.p

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

继瑜2020

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值