JAVA中如何给按钮做监听?

JAVA中如何给按钮做监听?,第1张

你a[i][j].addActionListener(this)这改谈句就是给按简绝钮加监听啊,你想给哪些按钮加就在哪些按钮上调用addActionListener(this)方法

你的类还实现拦歼姿ActionListener接口,并补全actionPerformed方法,添加监听的方法才不会报错。

有问题的话再问,把问题描述的具体些。

import java.awt.event.ActionEvent

import java.awt.event.ActionListener

import java.math.BigDecimal

import java.util.Scanner

import javax.swing.JFrame

import java.awt.Button

import java.awt.Label

import 衡碧java.awt.TextField

import java.awt.Frame

import java.awt.Panel

import java.awt.Color

import java.awt.*

public class PanelTest{

    public static void main(String args[]) {

    /*Scanner sc = new Scanner(System.in) double pi=3.14,s  double r  r=sc.nextDouble()    s=pi*r*r System.out.println("s等于"+s)*/

        EventQueue.invokeLater(new Runnable() {

            public void run() {

                CricleFrame frame = new CricleFrame()

                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

                frame.setVisible(true)

            }

        })

    }

}

class CricleFrame extends JFrame{

    Panel p = new Panel()

    TextField t = new TextField()

    Button b = new Button("确定")

    Label a = new Label("请在此输入半径")

    TextField result = new TextField()

  银衫  public CricleFrame(){

        add(a)

        add(t)

        add(b)

        add(result)

        add(p)

        setVisible(true)

        p.setBackground(Color.black)

        a.setBackground(Color.yellow)

        t.setBackground(Color.white)

        result.setBackground(Color.white)

        b.setBackground(Color.cyan)

        setSize(300, 300)

      咐搏举  setTitle("圆的面积")

        a.setBounds(105, 45, 90, 25)

        t.setBounds(100, 80, 100, 25)

        result.setBounds(100, 180, 100, 25)

        b.setBounds(111, 120, 80, 40)

        b.addActionListener(new ActionListener() {  //按钮点击事件监听

            public void actionPerformed(ActionEvent event) {

                Double r=0.0

                try{

                    r = Double.parseDouble(t.getText())

                }catch (Exception e){

                    System.out.println(e.getMessage())

                }

                BigDecimal tmp = new BigDecimal(r * r * Math.PI)

                Double area = tmp.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue() //保留2位小数

                result.setText(""+area)

            }

        })

    }

}

你的基础上改了一下,界面什么的没有改


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

原文地址: http://outofmemory.cn/yw/12536025.html

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

发表评论

登录后才能评论

评论列表(0条)

保存