「java按钮监听事件」java单选按钮监听事件
本篇文章给大家谈谈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单选按钮监听事件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-24,除非注明,否则均为
原创文章,转载请注明出处。