-
2021-02-12 12:50:45
展开全部
xml文件代码如下:
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button1" />
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button2" />
四种方法分述如下:
匿名内62616964757a686964616fe59b9ee7ad9431333363363465部类:
public class TestButtonActivity extends Activity {
Button btn1, btn2;
Toast tst;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_button);
btn1 = (Button) findViewById(R.id.button1);
btn2 = (Button) findViewById(R.id.button2);
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast tst = Toast.makeText(TestButtonActivity.this, "111111111", Toast.LENGTH_SHORT);
tst.show();
}
});
btn2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast tst = Toast.makeText(TestButtonActivity.this, "222222222", Toast.LENGTH_SHORT);
tst.show();
}
});
}
}
自定义单击事件监听类:
public class TestButtonActivity extends Activity {
Button btn1, btn2;
Toast tst;
class MyClickListener implements OnClickListener {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.button1:
tst = Toast.makeText(TestButtonActivity.this, "111111111", Toast.LENGTH_SHORT);
tst.show();
break;
case R.id.button2:
tst = Toast.makeText(TestButtonActivity.this, "222222222", Toast.LENGTH_SHORT);
tst.show();
break;
default:
break;
}
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_button);
btn1 = (Button) findViewById(R.id.button1);
btn2 = (Button) findViewById(R.id.button2);
btn1.setOnClickListener(new MyClickListener());
btn2.setOnClickListener(new MyClickListener());
}
}
Activity继承View.OnClickListener,由Activity实现OnClick(View view)方法,在OnClick(View view)方法中用switch-case对不同id代表的button进行相应的处理
public class TestButtonActivity extends Activity implements OnClickListener {
Button btn1, btn2;
Toast tst;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_button);
btn1 = (Button) findViewById(R.id.button1);
btn2 = (Button) findViewById(R.id.button2);
btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.button1:
tst = Toast.makeText(this, "111111111", Toast.LENGTH_SHORT);
tst.show();
break;
case R.id.button2:
tst = Toast.makeText(this, "222222222", Toast.LENGTH_SHORT);
tst.show();
break;
default:
break;
}
}
}
最后一种是我今天看到的一种写法,在XML文件中逗显示指定按钮的onClick属性,这样点击按钮时会利用反射的方式调用对应Activity中的click()方法地
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onClick"
android:text="Button1" />
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onClick"
android:text="Button2" />
这里在输完android:的时候按下 Alt+/ 会有 onClick 属性的提示, 但输入到 android:onClick=逗 的地方按下 Alt+/ 并没有提示 onClick 选项,让我突然觉得这里好像有点问题。
public class TestButtonActivity extends Activity {
Button btn1, btn2;
Toast tst;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_button);
}
// 注意 这里没有 @Override 标签
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.button1:
tst = Toast.makeText(this, "111111111", Toast.LENGTH_SHORT);
tst.show();
break;
case R.id.button2:
tst = Toast.makeText(this, "222222222", Toast.LENGTH_SHORT);
tst.show();
break;
default:
break;
}
}
}
这种写法整个代码中都不用声明button就可以实现button的单击事件。
已赞过
已踩过<
你对这个回答的评价是?
评论
收起
更多相关内容 -
java处理按钮点击事件的方法
2020-08-30 19:58:54下面小编就为大家带来一篇java处理按钮点击事件的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 -
java事件 按钮单击事件 实例
2011-04-02 11:03:26java事件 按钮单击事件 实例java事件 按钮单击事件 实例 -
java实现点击按钮事件弹出子窗口
2020-08-25 19:03:10主要为大家详细介绍了java实现点击按钮事件弹出子窗口,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
java事务实例--处理按钮点击事件
2021-05-25 19:01:33现在来看一个具体案例,当用户点击按钮,JButton对象创建一个ActionEvent对象,再调用Listener.actionPerformed(event)。 简单来说就是: 点即按钮->调用该按钮所有监听器的actionPerformed方法。AWT事件处理机制概要(来自白书):
1.事件监听器是一个实现了监听器接口的类实例。
2.事件源对象能够注册监听器并向其发送事件对象。
3.当事件发生时事件源将事件对象发送给所有注册的监听器。
4.监听器对象再使用事件对象中的信息决定如何对事件做出响应。现在来看一个具体案例,当用户点击按钮,JButton对象创建一个ActionEvent对象,再调用Listener.actionPerformed(event)。
简单来说就是: 点即按钮->调用该按钮所有监听器的actionPerformed方法。下面就是一个点击相应颜色按钮将面板调整为对应颜色的事件。
package Frame; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ButtonFrame extends JFrame { private JPanel buttonPanel; private static final int DEFAULT_WIDTH=300; private static final int DEFAULT_HEIGHT=200; public static void main(String[] args) { EventQueue.invokeLater(()-> { var button=new ButtonFrame(); button.setVisible(true); button.setTitle("button"); }); } public ButtonFrame() { setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT); var yellowButton=new JButton("Yellow"); var greenButton=new JButton("Green"); var blueButton=new JButton("Blue"); var redButton = new JButton("Red"); buttonPanel = new JPanel(); buttonPanel.add(yellowButton); buttonPanel.add(blueButton); buttonPanel.add(redButton); buttonPanel.add(greenButton); add(buttonPanel); var yellowAction=new ColorAction(Color.YELLOW); var greenAction=new ColorAction(Color.GREEN); var redAction=new ColorAction(Color.RED); var blueAction=new ColorAction(Color.BLUE); yellowButton.addActionListener(yellowAction); blueButton.addActionListener(blueAction); redButton.addActionListener(redAction); greenButton.addActionListener(greenAction); } private class ColorAction implements ActionListener {//为了使ColorAction对象访问buttonPanel对象,使用了内部类实现 private Color backgroundColor; public ColorAction(Color c) { backgroundColor=c; } public void actionPerformed(ActionEvent event) { buttonPanel.setBackground(backgroundColor); } } }
-
小编给你传授java怎么实现按钮触发事件功能
2021-04-12 14:04:55电脑现已成为我们工作、生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到java怎么实现按钮触发事件功能的问题,如果我们遇到了java怎么实现按钮触发事件功能的情况,该怎么处理怎么才能解决java怎么实现...电脑现已成为我们工作、生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到java怎么实现按钮触发事件功能的问题,如果我们遇到了java怎么实现按钮触发事件功能的情况,该怎么处理怎么才能解决java怎么实现按钮触发事件功能带来的困扰呢,对于这样的问题其实我们只需要电脑第一首先打开java编程工具。然后创建一个java项目。第二然后导入java所要用到的数据包。然后创建一个class类。第三然后添加按钮对象。命令为private JButton b1=null。第四然后添加一个方法。再初始化按钮对象,设置按钮的名称。第五然后增加按钮的监听功能。再实现触发事件方法。第六然后写入事件方法的功能。再创建一个主函数运行代码。这样就是java实现按钮触发事件的基本操作这样就解决了这样的问题,接下来给大家带来java怎么实现按钮触发事件功能的详细操作步骤。
工具/原料
电脑
方法/步骤
第一首先打开java编程工具。
然后创建一个java项目。
第二然后导入java所要用到的数据包。
然后创建一个class类。
第三然后添加按钮对象。
命令为private JButton b1=null。
第四然后添加一个方法。
再初始化按钮对象,设置按钮的名称。
第五然后增加按钮的监听功能。
再实现触发事件方法。
第六然后写入事件方法的功能。
再创建一个主函数运行代码。
这样就是java实现按钮触发事件的基本操作。
注意事项
个人经验,仅供参考。
-
按钮点击事件(java)
2018-02-03 14:33:52在java中,都将事件的相关信息封装在一个事件对象中,所有的事件对象都最终派生于java.util.EventObje 类。当然,每个事件类型还有子类,例如ActionEvent和...下面以一个响应按钮点击事件简单示例来说明所需要知道在java中,都将事件的相关信息封装在一个事件对象中,所有的事件对象都最终派生于java.util.EventObje
类。当然,每个事件类型还有子类,例如ActionEvent和WindowEvent。不同的事件源可以产生不同类别
的事件。例如,按钮可以发送一个ActionEvent对象,而窗口可以发送WindowEvent对象。
下面以一个响应按钮点击事件简单示例来说明所需要知道的所有细节。在这个示例中,想要在一个面板中
放置三个按钮,添加三个监听器对象用来作为按钮的动作监听器。只要用户点击面板上的任何一个按钮,
相关的监听器对象就会接收到一个Action Event对象,他表示有个按钮被点击了。在示例程序中,监听器
对象将改变面板的背景颜色。- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.*;
- public class Main {
- public static void main(String[] args)
- {
- EventQueue.invokeLater(()->{
- JFrame frame=new ButtonFrame();
- frame.setTitle("ListenerTest");
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.setVisible(true);
- }
- );
- }
- }
- class ButtonFrame extends JFrame {
- private JPanel buttonPanel;
- public ButtonFrame(){
- setSize(300,200);
- //create buttons
- JButton yellowButton = new JButton("Yellow");
- JButton blueButton=new JButton("Blue");
- JButton redButton=new JButton("Red");
- /*
- 由于不能将组件加入到JFrame中,我们使用JPanel(一个面板容器类,可以放按钮、图片、标签等)作为中间容器,
- 然后再将JPanel置为JFrame的内容
- */
- buttonPanel=new JPanel();
- //add buttons to panel
- buttonPanel.add(yellowButton);
- buttonPanel.add(blueButton);
- buttonPanel.add(redButton);
- //add panel to frame
- add(buttonPanel);
- //create button actions
- ColorAction yellowAction = new ColorAction(Color.YELLOW);
- ColorAction blueAction = new ColorAction(Color.BLUE);
- ColorAction redAction = new ColorAction(Color.RED);
- //associate actions with buttons
- yellowButton.addActionListener(yellowAction);
- blueButton.addActionListener(blueAction);
- redButton.addActionListener(redAction);
- }
- //当按钮被点击时,将面板的颜色设置为指定的颜色,这个颜色存储在监听器类中
- private class ColorAction implements ActionListener{
- private Color backgroundColor;
- public ColorAction(Color c){
- backgroundColor = c;
- }
- public void actionPerformed(ActionEvent event){
- //ActionEvent对应按钮点击、菜单选择、选择列表项或在文本框中ENTER
- buttonPanel.setBackground((backgroundColor));
- }
- }
- }
方法就会被调用。这个对象的backgroundColor实例域被设置为Color.YELLOW,现在就将面板的背景色设
置为黄色了
-
java按钮设计点击事件
2019-10-22 22:26:43设计按钮,当点击按钮后界面颜色变化。 -
Java 鼠标点击事件实例
2021-02-25 18:38:28首先我们应该知道鼠标点击事件怎么实现其部分代码如下if (anyEvent.getButton() == MouseEvent.BUTTON1) {}e.getButton()返回值分别为NOBUTTON、BUTTON1、BUTTON2、BUTTON3,分别代表着无点击、左击、中间键、右击三... -
java中添加按钮并添加响应事件的方法(推荐)
2020-08-30 19:58:41下面小编就为大家带来一篇java中添加按钮并添加响应事件的方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 -
Java给按钮添加事件
2021-02-12 12:50:46展开全部赞一个, 提前学习, 做好预先 , 是个好习惯.java图形界面主要62616964757a686964616fe4b893e5b19e31333365636666有AWT, SWING, SWT, JavaFx等技术JButton (按钮)是SWING里面很常用的组件. 直接添加按钮到窗口... -
Java学习——GUI编程(鼠标单击按钮事件)
2021-03-07 23:01:29Java学习——GUI编程(鼠标单击按钮事件)Java学习——GUI编程(鼠标单击按钮事件)package 狂神说.p3;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.... -
java按钮动作事件
2021-02-28 13:20:401. Java事件处理三要素:1) 事件源(Event Source):即事件发生的场所,就是指各个组件,如按钮等,点击按钮其实就是组件上发生的一个事件;2) 事件(Event):事件封装了组件上发生的事情,比如按钮单击、按钮松开等等... -
java 鼠标点击事件
2021-02-28 17:36:33import java.awt.Color;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import javax.swing.JButt... -
java实现点击按钮弹出新窗体功能
2020-08-25 19:02:32主要为大家详细介绍了java实现点击按钮弹出新窗体功能,旧窗体不进行操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
Java的事件驱动入门(二)——点击按钮触发事件
2019-09-19 21:07:40生成一个圆,点击“放大”按钮,这个圆可以被放大;点击“缩小”按钮,这个圆可以被缩小。 效果 代码 ControlCircle2.java: package Test; import javax.swing.*; import java.awt.*; import java.awt.event.... -
按钮事件监听
2021-03-01 08:05:51[java]代码库/*** 功能:按钮事件监听*/package com.test;import java.awt.*;import javax.swing.*;import java.awt.event.*;public class Test2 extends JFrame implements ActionListener{JPanel jP=null;JButton ... -
java按钮事件.pdf
2021-09-30 17:32:54java按钮事件.pdf -
java按钮被点击事件
2021-02-12 12:40:39展开全部添加按钮监听。回见内容写成方法,然后调用即可。大概像下面这样62616964757a686964616fe4b893e5b19e31333335336462importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.... -
java按钮事件处理程序
2021-03-22 17:09:25程序代码:import java.awt.*;import java.awt.event.*;import java.applet.*;public class ButtonDemo extends Applet implements ActionListener{String msg="";public void init(){Button yes=new Button("是");... -
Java Swing(二)按钮点击事件处理ActionListener
2020-09-23 22:34:38监听器Listener是Java Swing中界面事件处理的一种方式。import java.awt.event.*; 使用步骤:1.写一个自己的监听器类实现ActionListener接口,重写actionPerformed方法 这里的MyButtonListener类是MyFrame的一个内部... -
java处理按钮点击事件
2021-03-06 04:21:56例如,按钮可以发送一个ActionEvent对象,而窗口可以发送WindowEvent对象。AWT时间处理机制的概要:1.监听器对象是一个实现了特定监听器接口(listener interface)的类的实例。2.事件源是一个能够注册监听器对象并... -
Java编程实现swing圆形按钮实例代码
2020-08-28 17:28:16主要介绍了Java编程实现swing圆形按钮实例代码,涉及两个简单的Java实现按钮的代码,其中一个具有侦测点击事件的简单功能,具有一定借鉴价值,需要的朋友可以参考。 -
Java 中的JButton按钮事件
2017-08-23 16:52:40package com.Swing; import java.awt.Color; import java.awt.event.*; import javax.swing.*; public class ButtonExample { public static void main(String[] args) { JFrame f = new JFrame("D -
java swing 按钮事件触发两次或者多次
2019-07-24 17:45:00按钮事件触发多次? 如果是JButton,八成是由于粗心,多次添加了监听事件 保持只添加一个监听事件就解决了~ 转载于:https://www.cnblogs.com/amazingjava/p/11239693.html... -
JAVA中按钮的事件监听的三种方式
2021-02-12 13:26:30标签:JAVA中的Swing组件,按钮的重点是进行事件的监听,可以通过调用JButton的addActionListener()方法。这个方法接受一个实现ActionListener接口的对象作为参数,ActionListener接口中只包含一个actionPerformed()...