Java中给多个按钮添加监听(非常多),要求: 能够判断按钮属性(如:背景色,文本)并执行代码

Java中给多个按钮添加监听(非常多),要求: 能够判断按钮属性(如:背景色,文本)并执行代码,第1张

不兆枝知道你这个告悔是不是swing实现。类实现事件接口,然后在类中重新事件方法,方法中可以判断按钮id来具体 *** 作;伪代码实现如下

public class MyFrame extends JFrame implements ActionListener{

public MyFrame() {

....

button2.addActionListener(this)

}

/**

* 按钮二的袜猜正事件响应在此

*/

public void actionPerformed(ActionEvent e) {

if(e.getSource()==button2){

showMsg("你按下了" + button2.getText())

}

...

}

}

先定义一个监听器al:

ActionListener al = new ActionListener(){

@Override

public void actionPerformed(ActionEvent e) {

String str = btn1.getText()

field.setText(str)

}

}

然后所液念粗有button都调用addActionListener(al)这样al就可高简以监闹镇听所有button的点击事件了.通过e.getSource()获取哪个按钮,然后获取按钮上的数字即可.

import java.awt.FlowLayout

import java.awt.event.ActionEvent

import java.awt.event.ActionListener

import javax.swing.JButton

import javax.swing.JFrame

import javax.swing.JTextField

public class ShowButton implements ActionListener{

private JTextField textField = null

private JButton button = null

private JFrame frame = null

public ShowButton(){

frame = new JFrame("显示按钮文字")

button = new JButton("3")

textField = new JTextField("",20)

frame.setLayout(new FlowLayout(FlowLayout.CENTER))

frame.add(textField)

button.addActionListener(this)

frame.add(button)

frame.setSize(400, 100)

frame.setResizable(false)

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

frame.setVisible(true)

}

public void actionPerformed(ActionEvent e) {

textField.setText("")

textField.setText(button.getActionCommand())

System.out.println(button.getActionCommand()+"===")

}

public static void main(String[] args) {

new ShowButton()

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11989066.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存