「java按钮监听事件」java单选按钮监听事件

博主:adminadmin 2022-11-24 02:34:08 64

本篇文章给大家谈谈java按钮监听事件,以及java单选按钮监听事件对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java中回车键监听按钮事件

document.onkeydown=function(){

if (event.keyCode == 13){ //回车

}

if (event.keyCode == 32){ //空格

}

}

JAVA如何监测按住按钮的事件

代码如下:

import java.awt.EventQueue;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.time.Duration;

import java.time.Instant;

import javax.swing.JButton;

import javax.swing.JFrame;

public class MyFrame extends JFrame

{

    private static final long serialVersionUID = 1L;

    public Instant start;

    public Instant end;

    

    public MyFrame()

    {

        setSize(300, 200);

        setTitle("Test");

        setLocationRelativeTo(null);

        setLayout(null);

        setDefaultCloseOperation(EXIT_ON_CLOSE);

        

        JButton btn = new JButton("BUTTON");

        btn.setBounds(100, 60, 100, 40);

        btn.addMouseListener(new MouseAdapter()

        {

            @Override

            public void mousePressed(MouseEvent e)

            {

                start = Instant.now();

            }

            @Override

            public void mouseReleased(MouseEvent e)

            {

                end = Instant.now();

                System.out.println("总用时:" + Duration.between(start, end).toMillis() + "毫秒");

            }

        });

        add(btn);

    }

    

    public static void main(String[] args)

    {

        EventQueue.invokeLater(() -

        {

            try

            {

                MyFrame frame = new MyFrame();

                frame.setVisible(true);

            }

            catch (Exception e)

            {

                e.printStackTrace();

            }

        });

    }

}

按下按钮,再松开鼠标之后,总用时将被打印在控制台上,单位是毫秒,你可以设置其他单位

Java按钮监听

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);

            }

        });

    }

}

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

java中按钮监听处理问题

//定义的按钮,要全局的变量

private JButton submit= new JButton("确定");

private JButton cancle = new JButton("取消");

...

监听的方法

public void actionPerformed(ActionEvent e) {

//获取事件源

JButton button ==(JButton)e.getSource());

if(button == submit){

//点击的是确定按钮

}

if(button == cancle ){

//点击的是取消按钮

}

}

e.getSource()是获取事件的源,就是从哪里发生的点击事件。

这样应该可以处理你的问题吧

java循环按键循环监听事件

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.Arrays;

import java.util.HashMap;

import java.util.Map;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

public class Buttoncall implements ActionListener {

private String[] a = {"1a", "2a", "3a", "4a", "5a" };

private JButton[] jbutton = new JButton[5];

private JLabel[] jlabel = new JLabel[jbutton.length];

//用于记录按钮的点击数

private Maplt;String, Integergt; countMap = new HashMaplt;String, Integergt;();

/**

* 创建一个新的实例 Buttoncall.

*/

public Buttoncall() {

// 创建窗口

JFrame j = new JFrame();

JPanel jpa = new JPanel();// 定义面板组建

/**

* 初始化按钮,及其点击次数(默认0)

*/

for (int i = 0; i lt; jbutton.length; i++) {

jbutton[i] = new JButton(a[i]);// 定义按钮组建

jpa.add(jbutton[i]);// 将按钮添加到面板之中

jlabel[i] = new JLabel("您已点击" + a[i] + "的次数是:0");

jpa.add(jlabel[i]);

jbutton[i].addActionListener(this);

}

j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

j.add(jpa);

j.setTitle("测试使用");

j.setVisible(true);

j.setSize(400, 500);

}

/**

* 单击事件处理.

* lt;pgt;Title: actionPerformedlt;/pgt;

* lt;pgt;Description: lt;/pgt;

* @param actionevent

* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)

*/

@Override

public void actionPerformed(ActionEvent actionevent) {

//获取单击事件组件 名称 如1a

String buttonName = actionevent.getActionCommand();

//在数组中的位置

int index = Arrays.asList(a).indexOf(buttonName);

if (index != -1) {

int count = 1;

//判断map中是否存在当前按钮

if (countMap.containsKey(buttonName)) {

count = countMap.get(buttonName);

count += 1;

}

//记录当前按钮点击次数

countMap.put(buttonName, count);

jlabel[index].setText("您已点击" + buttonName + "的次数是:" + count);

if (count % 10 == 0) {

JOptionPane.showMessageDialog(null, count + "是10的倍数,所以我来提示你!");

}

}

}

public static void main(String[] args) {

new Buttoncall();

}

}

你的这种写法不对,逻辑有问题!

匿名内部类调用的全局变量 i

所以每次点击的时候i的值都等于5,这时候就会数组越界!我给你写了个例子,你参考下!

有问题再追问,good luck!

javaswing 按钮监听问题

因为你这个类实现了ActionListener接口,所以这个类本身就是一个监听器,this指的就是这个监听器类的对象,就是说用这个类的对象做为监听器监听着sub这个按钮发出的行为事件。

关于java按钮监听事件和java单选按钮监听事件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-24,除非注明,否则均为首码项目网原创文章,转载请注明出处。