java按钮事件例子(java窗体按钮事件)

本文目录一览:

java按钮事件

调用顺序:

单击按钮-调用actionPerformed-调用repaint-调用paint。

java按钮触发事件问题

可以使用按钮单击事件,改变其它组件的状态,例如下面是一个计数器的例子:

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.JLabel;

public class Demo7 extends JFrame {

private int count = 1;

public Demo7() {

this.setSize(600, 400);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setLocationRelativeTo(null);

this.setLayout(new FlowLayout());

JLabel label = new JLabel(String.valueOf(count));

this.add(label);

JButton button = new JButton(“Click Me!”);

// 按钮单击事件,改变 Label 显示文本

button.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent arg0) {

count++;

label.setText(String.valueOf(count));

}}

);

this.add(button);

}

public static void main(String[] args) {

new Demo7().setVisible(true);

}

}

Java给按钮添加事件

赞一个, 提前学习, 做好预先 , 是个好习惯.

java图形界面主要有AWT, SWING, SWT, JavaFx等技术

JButton  (按钮)是SWING里面很常用的组件. 直接添加按钮到窗口,并不会产生任何交互效果.

要想产生交互效果,就需要了解awt,swing的事件处理机制:

事件:用户对组件的一个操作,称之为一个事件;

事件源:发生事件的组件就是事件源;

事件处理器:负责处理事件的方法;

比如 点击按钮,弹出HelloWord,

那么 事件是 点击按钮 ,事件源就是按钮,事件处理器就会弹出对话框,显示HelloWord.

常用的事件(Event) 有:

鼠标事件(MouseEvent: 鼠标按下,移入,移除,滚轮..)

键盘事件(KeyEvent: 键盘按下,释放..)

动作事件( ActionEvent:当按钮、菜单项被点击,在JTextField中按Enter键时…触发该事件。)

按钮添加接收器, 不同的事件,接收器不同.

比如ActionEvent 那么他的接收器是ActionListener

KeyEvent 那么他的接收器就是KeyListener

基础知识,大概就是这些.

所以想要JButton产生交互,你就需要给他添加事件处理器,当发生这些事件时,出发该处理器,进行处理.

写2个例子,第一个简单的:点击按钮,弹出Hello World

//导入3个图形界面,常用的包

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class ButtonDemo extends JFrame {

 

 public ButtonDemo() {

  

  JButton jbHello = new JButton(“Hello”);//按钮

  jbHello.addActionListener(new ActionListener() {//给按钮添加事件接收器

   @Override

   public void actionPerformed(ActionEvent e) {//接受到事件后,进行下面的处理

    System.out.println(“Hello World”);// 控制台打印输出

    JOptionPane.showMessageDialog(null, “Hello World”);// 弹出对话框,显示Hello World

   }

  });

  add(jbHello);//把按钮添加到窗体

  

  // 窗体属性的设置

  setLayout(new FlowLayout());// 窗体流式布局, 按添加顺序从左到右排列组件

  setSize(300, 200);// 宽300像素,高200

  setLocationRelativeTo(null);// 窗体放在显示器中间

  setTitle(“HelloWord”);// 窗体的标题

  setDefaultCloseOperation(EXIT_ON_CLOSE);// 点击窗体右上角的关闭按钮时,结束程序

  setVisible(true);// 窗体可见

 }

 public static void main(String[] args) {

  new ButtonDemo();

 }

}

看明白了吧, addActionListener是关键

进阶版 :加法计算器.  代码稍微长一点,.但注释很多

参考代码如下

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

//AddFrame继承自JFrame类, 并且实现了ActionListener 接口

public class AddFrame extends JFrame implements ActionListener {

 // 组件

 JTextField jtf1, jtf2, jtf3;// 文本框,用于:显示数字

 JButton jbAdd;// 按钮,用于:当点击按钮时,计算出加法的结果

 JButton jbClear;// 按钮, 用于,清空数字

 public AddFrame() {// 构造方法

  // 初始化组件

  jtf1 = new JTextField(5);// 长度为5的文本框

  JLabel jl = new JLabel(“+”);//文字标签

  jtf2 = new JTextField(5);

  jtf3 = new JTextField(6);

  jtf3.setEditable(false);

  jbAdd = new JButton(“=”);

  jbAdd.addActionListener(this);//因为本类已经实现了ActionListener接口,所以添加事件的接收器就是自己(this)

  jbClear = new JButton(“清除”);

  jbClear.addActionListener(this);

  

  //把组件,添加到窗体

  add(jtf1);

  add(jl);

  add(jtf2);

  add(jbAdd);

  add(jtf3);

  add(jbClear);

  

  // 窗体属性的设置

  setLayout(new FlowLayout());//窗体流式布局, 按添加顺序从左到右排列组件

  setSize(380, 100);// 宽380像素,高100

  setLocationRelativeTo(null);// 窗体放在显示器中间

  setTitle(“加法计算器”);// 窗体的标题

  setDefaultCloseOperation(EXIT_ON_CLOSE);// 点击窗体右上角的关闭按钮时,结束程序

  setVisible(true);// 窗体可见

 }

 /*

  *  实现ActionListener接口 就必须重写actionPerformed方法

  */

 @Override

 public void actionPerformed(ActionEvent e) {// 当事件产生后,就会执行actionPerformed里的方法

  JButton jbTemp= (JButton) e.getSource();//得到事件源

  

  if(jbTemp==jbAdd) {//如果是从jbAdd产生的事件.那么执行加法操作

   //因为是简单案例,就不判断和处理,用户乱输入字母汉字等情况,导致的异常了

   int x = Integer.parseInt(jtf1.getText());//从文本框1得到字符串,并转化成数字

   int y = Integer.parseInt(jtf2.getText());

   jtf3.setText(x+y+””);//计算2个数的和,并显示在文本框3上

   

  }else if(jbTemp==jbClear) {//如果事件源是 jbClear,那么清除文本框的文字

   

   jtf1.setText(“”);

   jtf2.setText(“”);

   jtf3.setText(“”);

  }

  

 }

 // main方法

 public static void main(String[] args) {

  new AddFrame();//创建一个AddFrame的实例

 }

}

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/280724.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-21 13:04
下一篇 2024-12-21 13:04

相关推荐

  • 抖音外放亲妈下葬事件的背后真相

    近期,一段抖音外放亲妈下葬的视频引发广泛关注和热议。不少人对这个事件感到震惊和愤怒,认为这种行为非常不尊重亲人,触犯了社会公德和家庭道德。但是,事情真相到底是什么呢?我们有必要从多…

    编程 2025-04-28
  • Python计数循环例子用法介绍

    在这篇文章中,我们将为您提供有关Python计数循环的一些详细信息,并为您提供示例和代码,让您更深入地了解如何使用Python进行计数循环。 一、什么是计数循环? 计数循环是编程中…

    编程 2025-04-28
  • Access执行按钮的实现方法及应用场景

    本文将详细介绍Access执行按钮的实现方法及其在实际应用场景中的使用方法。 一、创建Access执行按钮的方法 在Access中,创建执行按钮的方法非常简单。只需要按照以下步骤进…

    编程 2025-04-27
  • cc.director.on事件监听器

    本文将从多个方面详细介绍Cocos Creator中的cc.director.on事件监听器。 一、cc.director.on的作用和用法 cc.director.on是Coco…

    编程 2025-04-27
  • python运行按钮在哪

    Python运行按钮指的是在集成开发环境(IDE)中开发者用来运行代码的按钮,请看下面的代码示例: print(“Hello, World!”) 如果这段代码保存为名为hello_…

    编程 2025-04-27
  • 如何在LinearLayout中使按钮居中

    在LinearLayout布局中,如果想要让按钮居中,那么可以通过以下几种方法实现。 一、gravity属性 在LinearLayout中,可以使用gravity属性将其子控件相对…

    编程 2025-04-27
  • JavaScript点击事件全方位指南

    一、click事件基础 click事件是最常用的鼠标事件之一,当元素被单击时触发。click事件适用于大多数HTML元素(<a>、<button>)和SVG…

    编程 2025-04-25
  • 探究keyup和keydown事件

    一、介绍 在前端开发中,代码执行通常与用户操作有关。用户操作中,常用的是键盘事件,其中keydown和keyup事件是最为常见的两种。这两种事件都可以用来监测用户按键,但它们有不同…

    编程 2025-04-25
  • 详解JavaScript onclick事件

    一、onclick的基础知识 onclick事件是JavaScript中最常用的事件之一,它在用户点击某个HTML元素时触发。通常我们可以通过给元素添加一个onclick属性来绑定…

    编程 2025-04-25
  • CSS 事件穿透

    在 Web 开发中,CSS 负责网页的样式,而 JavaScript 负责网页的行为。虽然两者有不同的职责,但在实际的开发过程中,我们经常会遇到将二者结合起来的场景。比如需要通过 …

    编程 2025-04-25

发表回复

登录后才能评论