java单击事件代码 java点击按钮触发事件

java按钮被点击事件

添加按钮监听。回见内容写成方法,然后调用即可。大概像下面这样

创新互联建站专注于网站建设,为客户提供网站制作、做网站、网页设计开发服务,多年建网站服务经验,各类网站都可以开发,成都品牌网站建设,公司官网,公司展示网站,网站设计,建网站费用,建网站多少钱,价格优惠,收费合理。

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

public class Test {

public static void main(String [] args){

JButton A = new JButton("A");

JButton B = new JButton("B");

JButton C = new JButton("C");

A.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

methodA();

}

});

B.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

methodB();

}

});

C.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

methodA();

methodB();

}

});

}

public static void methodA(){

//执行A方法

}

public static void methodB(){

//执行B方法

}

}

java点击事件

package jframe.thread;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JFrame;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

public class MyJFrame extends JFrame

{

/**

*

*/

private JMenuItem jma;

private JMenuItem jmc;

private JMenuItem jmd;

private JMenuItem jme;

private JMenuItem jmf;

private JMenuItem jmg;

private JMenuItem jmh;

private JMenuBar jmb;

private JMenu jm1;

private JMenuItem jmi;

public MyJFrame()

{

jmb = new JMenuBar();

JMenu jm1 = new JMenu("个人信息查询");

jmi = new JMenuItem("按学号查询");

jma = new JMenuItem("按姓名查询");

JMenu jm2 = new JMenu("");

JMenu jm3 = new JMenu("成绩查询");

jmc = new JMenuItem("按姓名查询");

jmd = new JMenuItem("按学号查询");

jme = new JMenuItem("按学年查询");

JMenu jm4 = new JMenu("");

JMenu jm5 = new JMenu("学生寝室管理");

JMenu jm6 = new JMenu("");

JMenu jm7 = new JMenu("信息修改");

JMenuItem jml = new JMenuItem("添加信息");

JMenuItem jmj = new JMenuItem("删除信息");

JMenuItem jmk = new JMenuItem("修改信息");

JMenu jm8 = new JMenu("");

JMenu jm9 = new JMenu("修改密码");

jmf = new JMenuItem("按寝室查询");

jmg = new JMenuItem("按学号查询");

jmh = new JMenuItem("按班级查询");

jm1.add(jmi);

jm1.add(jma);

jm3.add(jmc);

jm3.add(jmd);

jm3.add(jme);

jm5.add(jmf);

jm5.add(jmg);

jm5.add(jmh);

jm7.add(jml);

jm7.add(jmj);

jm7.add(jmk);

jmb.add(jm1);

jmb.add(jm2);

jmb.add(jm3);

jmb.add(jm4);

jmb.add(jm5);

jmb.add(jm6);

jmb.add(jm7);

jmb.add(jm8);

jmb.add(jm9);

setJMenuBar(jmb);

setBounds(20,20,1050,700);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setResizable(false); //窗口大小锁定,设置后,无法通过鼠标拖动,调整大小。

//如果锁定了窗口,那么最大化窗口的按钮将被自动禁用

validate(); //刷新窗口的作用(有时候会碰到窗口添加组件后,无法

//正常显示,调整窗口大小后,才能看到。这个方法避免该情况发生)

jmd.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){

MyThread thread1=new MyThread();

thread1.start();//调用start()后,自动执行run()

}

});

}

class MyThread extends Thread{ //加一个线程

public void run(){

JFrame frame1 = new JFrame();

frame1.setVisible(true);

frame1.setTitle("按学号查询");

frame1.setSize(300,300);

}

}

public static void main(String args[]){

MyJFrame myframe = new MyJFrame();

myframe.setVisible(true);

myframe.setTitle("学生信息管理系统");

}

}

用java写一个单击鼠标事件

使用组件的paint函数用于绘图, 使用MouseListener来响应鼠标的点击

效果图

代码

import java.awt.Color;

import java.awt.Graphics;

import java.awt.event.*;

import javax.swing.*;

public class DemoWin extends JFrame {

public DemoWin() {

MyPanel mp = new MyPanel();

mp.addMouseListener(mp);

add(mp);

// 窗口属性设置

setTitle("Demo");// 标题

setSize(300, 280);// 窗口大小

setLocationRelativeTo(null);// 窗口居中

setDefaultCloseOperation(EXIT_ON_CLOSE);// 窗口点击关闭时,退出程序

}

public static void main(String[] args) {

DemoWin win = new DemoWin(); // 创建窗口

win.setVisible(true);// 显示窗口

}

class MyPanel extends JPanel implements MouseListener {

int times;// 记录点击的次数

int x;// 记录鼠标X轴的位置

int y;// 记录鼠标Y轴的位置

@Override

public void paint(Graphics g) {

super.paint(g);

if (times == 0) {

g.setColor(Color.BLUE);// 颜色

g.fillOval(150, 150, 50, 50);// 150,150代表位置 50,50代表宽高

} else if (times == 1) {

g.setColor(Color.RED);

g.fillRect(150, 150, 50, 50);

} else {

g.setColor(Color.RED);

g.fillRect(x, y, 50, 50);

}

repaint();

}

public void mouseClicked(MouseEvent e) {

// if (e.getButton()==MouseEvent.BUTTON1) {//单击左键时有效..

// times++;// 记录点击的次数

// x = e.getX();

// y = e.getY();

// }

}

public void mousePressed(MouseEvent e) {// 鼠标按下就有效

times++;// 记录点击的次数

x = e.getX();

y = e.getY();

}

public void mouseReleased(MouseEvent e) {// 鼠标释放

}

public void mouseEntered(MouseEvent e) {// 鼠标移入

}

public void mouseExited(MouseEvent e) {// 鼠标移出

}

}

}

Java 添加按钮点击事件

xml文件代码如下:

Button

android:id="@+id/button1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Button1" /

Button

android:id="@+id/button2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Button2" /

四种方法分述如下:

匿名内部类:

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()方法地

Button

android:id="@+id/button1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:onClick="onClick"

android:text="Button1" /

Button

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单击事件代码 java点击按钮触发事件
本文链接:http://myzitong.com/article/ddodpei.html