swing jbutton实现长按和点击事件


import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public abstract class ClickListener extends MouseAdapter {


    private int count = 0;

    public void onLongClick() {

    }

    public abstract void onClick();

    private Timer timer;

    public void mousePressed(MouseEvent e) {
        timer = new Timer(500, new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                count++;
                if (count >= 10) {
                    // 长按事件
                    System.out.println("长按事件触发了");
                    onLongClick();
                    timer.stop();
                }
            }
        });
        timer.start();
    }

    public void mouseReleased(MouseEvent e) {
        timer.stop();
        if (count < 10) {
            // 点击事件
            System.out.println("单机事件触发了");
            onClick();
        }
        count = 0;
    }

}
    /**
     * 按钮
     */
    public static JButton getJButton(int x, int y, int w, int h, String text, ClickListener actionListener) {
        JButton label = new JButton(text);
        label.setBounds(x, y, w, h);
        label.addMouseListener(actionListener);
        return label;
    }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Swing 中,可以使用 JButton 类来实现一个按钮。JButton 类是 AbstractButton 的子类,它继承了 AbstractButton 中的大部分方法和属性,并添加了一些自己的方法和属性。 下面是一个简单的例子,展示了如何创建一个 JButton 并添加到 JFrame 中: ```java import javax.swing.JButton; import javax.swing.JFrame; public class MyButton { public static void main(String[] args) { // 创建一个 JFrame 对象 JFrame frame = new JFrame("MyButton"); // 创建一个 JButton 对象 JButton button = new JButton("Click me!"); // 将 JButton 添加到 JFrame 中 frame.add(button); // 设置 JFrame 的大小和可见性 frame.setSize(300, 200); frame.setVisible(true); } } ``` 在上面的代码中,首先创建了一个 JFrame 对象,然后创建了一个 JButton 对象,并将它添加到 JFrame 中。通过调用 `setSize()` 方法和 `setVisible()` 方法,设置了 JFrame 的大小和可见性。 当用户单击 JButton 时,可以通过添加 ActionListener 来响应按钮事件。例如,以下代码展示了如何响应 JButton 的单击事件: ```java import javax.swing.JButton; import javax.swing.JFrame; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class MyButton { public static void main(String[] args) { // 创建一个 JFrame 对象 JFrame frame = new JFrame("MyButton"); // 创建一个 JButton 对象 JButton button = new JButton("Click me!"); // 添加 ActionListener button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.out.println("Button clicked!"); } }); // 将 JButton 添加到 JFrame 中 frame.add(button); // 设置 JFrame 的大小和可见性 frame.setSize(300, 200); frame.setVisible(true); } } ``` 在上面的代码中,通过调用 `addActionListener()` 方法,向 JButton 中添加了一个 ActionListener,当用户单击按钮时,会调用 ActionListener 中的 `actionPerformed()` 方法,从而响应按钮事件。在本例中,当用户单击按钮时,会在控制台输出一条消息。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值