导航:首页 > 编程语言 > javabutton事件

javabutton事件

发布时间:2022-04-12 07:40:39

java BUTTON事件

这个比较简单,在您的JFrame中的SOUTH加两个按钮(可以先放在JPanel中),用于控制JPanel的切换。在CENTER(默认)添加一个主JPanel,设置布局方式为CardLayout,每个Card放置一个JPanel,然后用按钮控制就行了。

Ⅱ java怎么给按钮添加事件

类名后面添加一个actionListener 接口

解决方法:

(1)public void actionPerformed(ActionEvent e) {


}

这么一个方法,然后再在构造方法里面添加注册事件,button.addActionListener(this);


(2)在res/layout中的activity_main.xml添加一个按钮,命名为button1。

(3)在MainActivity.Java中添加按钮事件绑定:

Ⅲ JAVA jbutton事件

JButton bt1= new JButton("按钮一");//声明 bt1 ,一个jbutton
bt1.addActionListener(this); //在后面监听 bt1
JButton bt2= new JButton("按钮二");//声明 bt2 ,一个jbutton
bt2.addActionListener(this); //在后面监听 bt2

你在actionCommand这个方法体里面添加多一个判断就可以了

if(e.getSource() == b1){
//do something
}else if(e.getSource() == b2){
//do something
}

Ⅳ Java点击button事件问题!求救!

已改好:如下
下面是Test .java
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JButton;
import javax.swing.JFrame;

public class Test extends JFrame implements ActionListener{

JButton buttonRoom;
static RunTest room[] = new RunTest[5];
static int[] roomID = {1,2,3,4,5};
public static void main(String args[]) {
new Test().launchFrame();
}

public void launchFrame() {
setSize(300, 200);
this.setTitle("choose room");
setLocation(200, 300);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setLayout(new FlowLayout());
setVisible(true);

for (int i = 0; i < roomID.length; i++) {
buttonRoom = new JButton( i+"");
room[i] = new RunTest(roomID[i]);
add(buttonRoom);
buttonRoom.addActionListener(this);
}

}

public void actionPerformed(ActionEvent e) {

System.out.println("sss"+ e.getActionCommand());
int a=Integer.parseInt(e.getActionCommand());

// room[0] = new RunTest(a+1); 这是我自己写的,我觉得也行,下面是在你的基础上修改的
// room[0].room();

switch(a){
case 1:
room[0] = new RunTest(roomID[1]);room[0].room();break;
case 2:
room[1] = new RunTest(roomID[2]);room[1].room();break;
case 3:
room[2] = new RunTest(roomID[3]);room[2].room();break;
case 4:
room[3] = new RunTest(roomID[4]);room[3].room();break;
case 5:
room[4] = new RunTest(roomID[5]);room[4].room();break;
}

}

}

-----------------------------------------------------------------------------------------------------------
以下是RunTest .java
import javax.swing.JFrame;

public class RunTest extends JFrame {
int roomID;

public RunTest(int roomID){
this.roomID = roomID;
}
public void setRoomID(int roomID){
this.roomID = roomID;
}
public int getRoomID(){
return roomID;
}
public void room() {
setSize(400, 300);
this.setTitle("room"+roomID);
setLocation(600+roomID*4, 300+roomID*6);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setLayout(null);
setVisible(true);
}
}

提醒两点,一是switch case用法后要加break;二是数组的坐标是从0开始的

Ⅳ java中,button事件

Button shutDown;
FirstOne1(String str) {
super(str);
Button shutDown = new Button("停止");
add(shutDown);
shutDown.addActionListener(this);
}
public void actionPerformed(ActionEvent event) {
if(event.getSource()==shutDown){
System.out.println("why??"); //此处按按钮后也无法print出来,为什么?
}
}
}
楼主,你在类的下面定义了一个成员变量shutdown 然后又在构造方法中定义了一个局部变量shutdown ,这样在给shutdown 添加监听器的时候,你实际是给局部变量shutdown 添加了监听器,而在你的事件里的event.getSource()==shutDown又是给成员变量定义的,简单的说,你界面里的shutDown是你构造器里的局部shutDown,而你事件里的shutDown是你成员变量的shutDown,两个不是同一个按钮,自然不会有反应
Button shutDown = new Button("停止");改成
shutDown = new Button("停止");就可以了

Ⅵ java中如何为button添加响应事件

你的界面类可以 implements ActionListener
然后实现 public void actionPerformed(ActionEvent e) { }
这样你的按钮应该加上Button.AddActionListener(this);
不过如果你有多于一个的Button就很麻烦了

也可以这样
File Interface.java
文件开始
class Interface extends JFrame{
......
Button1.addActionListener(Action1);
Button2.addActionListener(Action2);
......
}

class Action1 implement ActionListener{
public void actionPerformed(ActionEvent e){
// 实现按钮1行为的代码
....
}
}

class Action2 implement ActionListener{
// 实现按钮2行为的代码
public void actionPerformed(ActionEvent e){
....
}
}
文件结束

Ⅶ java中如何给button添加事件

Java Swing本身提供了现成的按钮控件JButton 创建一个新的按钮:JButton about = new JButton; 这个按钮该放到菜单区:toolBar.add(about); 要为按钮添加事件响应,需要使用about.addActionListener(this)来告诉程序监听按钮按下时的事件,ActionListener是一个程序接口。 public class KyodaiUI extends JFrame implements ActionListener {...}实现ActionListener接口是为了告诉程序我要进行事件处理了。 最后我们得添加响应事件的代码: public void actionPerformed(ActionEvent e) { if (e.getSource() == about) {

Ⅷ Java GUI的Button按钮事件

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Xiti13
{ public static void main(String args[])
{ new WindowCanvas();
}
}
class Mycanvas extends Canvas
{ int x,y,r;
Color c=new Color(0,0,0);
Mycanvas()
{ setBackground(Color.cyan);
}
public void setColor(Color c)
{ this.c=c;
}
public void setX(int x)
{ this.x=x;
}
public void setY(int y)
{ this.y=y;
}
public void setR(int r)
{ this.r=r;
}
public void paint(Graphics g)
{ g.setColor(c);
g.fillOval(x,y,2*r,2*r);
}
}
class WindowCanvas extends JFrame implements ActionListener
{ Mycanvas canvas;
TextField inputR,inputX,inputY;
Button buttonRed,buttonGreen,buttonYellow,buttonEnter;
Color c=new Color(0,0,0);
int x=0,y=0,r=0;
WindowCanvas()
{ canvas=new Mycanvas();
inputR=new TextField(5);
inputX=new TextField(4);
inputY=new TextField(4);
buttonRed=new Button("red");
buttonRed.setBackground(Color.red);
buttonGreen=new Button("green");
buttonGreen.setBackground(Color.green);
buttonYellow=new Button("yellow");
buttonYellow.setBackground(Color.yellow);
buttonEnter=new Button("确定");
buttonEnter.addActionListener(this);
buttonRed.addActionListener(this);
buttonGreen.addActionListener(this);
buttonYellow.addActionListener(this);
Panel pNorth=new Panel(),pSouth=new Panel();
pNorth.add(new Label("颜色:"));
pNorth.add(buttonRed);
pNorth.add(buttonGreen);
pNorth.add(buttonYellow);
pNorth.add(new Label("圆的位置坐标:"));
pNorth.add(inputX);
pNorth.add(inputY);
pSouth.add(new Label("圆的半径:"));
pSouth.add(inputR);
pSouth.add(buttonEnter);
add(canvas,BorderLayout.CENTER);
add(pNorth,BorderLayout.NORTH);
add(pSouth,BorderLayout.SOUTH);
setBounds(100,100,500,200);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e)
{ Button b=(Button)e.getSource();
if(b==buttonEnter)
{ try{x=Integer.parseInt(inputX.getText());
y=Integer.parseInt(inputY.getText());
r=Integer.parseInt(inputR.getText());
canvas.setX(x);
canvas.setY(y);
canvas.setR(r);
canvas.setColor(c);
canvas.repaint();
}
catch(NumberFormatException ee)
{ x=0;y=0;r=0;
}
}
else
{ c=b.getBackground();
canvas.setX(x);
canvas.setY(y);
canvas.setR(r);
canvas.setColor(c);
canvas.repaint();
}
}
}

上面是第一个代码,那个可以随便改圆的位置,下面是第二个:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class SignalFrame extends JFrame implements ActionListener
{ Button button1,button2,button3;
Color c;
SignalFrame()
{
button1=new Button("红灯");
button2=new Button("绿灯");
button3=new Button("黄灯");
button1.setBackground(Color.red);
button2.setBackground(Color.green);
button3.setBackground(Color.yellow);
button1.addActionListener(this);
button2.addActionListener(this);
button3.addActionListener(this);
add(button1);
add(button2);
add(button3);
setLayout(new FlowLayout());
setBounds(100,100,200,300);
setVisible(true);
validate();
}
public void paint(Graphics g)
{ g.setColor(c);
g.fillOval(50,80,100,100);
}
public void update(Graphics g)
{ g.clearRect(50,80,100,100);
paint(g);
}
public void actionPerformed(ActionEvent e)
{ if(e.getSource()==button1)
{ c=Color.red;
repaint();
}
else if(e.getSource()==button2)
{ c=Color.green;
repaint();
}
else if(e.getSource()==button3)
{ c=Color.yellow;
repaint();
}
}
}
public class HLD
{ public static void main(String args[])
{ SignalFrame frame;
frame=new SignalFrame();
}
}
看你喜欢那个了,我编了很长时间啊,楼主给我分吧,哈哈!

Ⅸ Java给按钮添加事件

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

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

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

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

比如 点击按钮,弹出HelloWord,

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

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

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

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

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

KeyEvent 那么他的接收器就是KeyListener

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

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

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

importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
//AddFrame继承自JFrame类,并且实现了ActionListener接口
{
//组件
JTextFieldjtf1,jtf2,jtf3;//文本框,用于:显示数字
JButtonjbAdd;//按钮,用于:当点击按钮时,计算出加法的结果
JButtonjbClear;//按钮,用于,清空数字
publicAddFrame(){//构造方法
//初始化组件
jtf1=newJTextField(5);//长度为5的文本框
JLabeljl=newJLabel("+");//文字标签
jtf2=newJTextField(5);
jtf3=newJTextField(6);
jtf3.setEditable(false);
jbAdd=newJButton("=");
jbAdd.addActionListener(this);//因为本类已经实现了ActionListener接口,所以添加事件的接收器就是自己(this)
jbClear=newJButton("清除");
jbClear.addActionListener(this);

//把组件,添加到窗体
add(jtf1);
add(jl);
add(jtf2);
add(jbAdd);
add(jtf3);
add(jbClear);

//窗体属性的设置
setLayout(newFlowLayout());//窗体流式布局,按添加顺序从左到右排列组件
setSize(380,100);//宽380像素,高100
setLocationRelativeTo(null);//窗体放在显示器中间
setTitle("加法计算器");//窗体的标题
setDefaultCloseOperation(EXIT_ON_CLOSE);//点击窗体右上角的关闭按钮时,结束程序
setVisible(true);//窗体可见
}
/*
*实现ActionListener接口就必须重写actionPerformed方法
*/
@Override
publicvoidactionPerformed(ActionEvente){//当事件产生后,就会执行actionPerformed里的方法
JButtonjbTemp=(JButton)e.getSource();//得到事件源

if(jbTemp==jbAdd){//如果是从jbAdd产生的事件.那么执行加法操作
//因为是简单案例,就不判断和处理,用户乱输入字母汉字等情况,导致的异常了
intx=Integer.parseInt(jtf1.getText());//从文本框1得到字符串,并转化成数字
inty=Integer.parseInt(jtf2.getText());
jtf3.setText(x+y+"");//计算2个数的和,并显示在文本框3上

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

jtf1.setText("");
jtf2.setText("");
jtf3.setText("");
}

}
//main方法
publicstaticvoidmain(String[]args){
newAddFrame();//创建一个AddFrame的实例
}
}

Ⅹ 关于java点击button启动事件的问题

  1. 可能是在操作数据结束之后没有更新控件根据你的描述感觉这个可能性比较大。

    改法:只要在数据更新后 更新相应的控件即可。

  2. 可能是数据更新后没有再次从服务器取得新的数据,你的对象还是之前的对象,数据没有变,所以即使你更新页面,页面还是不变。

    改法:数据更新后从新从服务器取回更新的数据,根据新数据进行控件的更新。

阅读全文

与javabutton事件相关的资料

热点内容
优信二手车解压后过户 浏览:61
Windows常用c编译器 浏览:778
关于改善国家网络安全的行政命令 浏览:833
安卓如何下载网易荒野pc服 浏览:654
javainetaddress 浏览:104
苹果4s固件下载完了怎么解压 浏览:1002
命令zpa 浏览:285
python编译器小程序 浏览:944
在app上看视频怎么光线调暗 浏览:540
可以中文解压的解压软件 浏览:592
安卓卸载组件应用怎么安装 浏览:912
使用面向对象编程的方式 浏览:339
程序员项目经理的年终总结范文 浏览:929
内衣的加密设计用来干嘛的 浏览:432
淮安数据加密 浏览:292
魔高一丈指标源码 浏览:982
松下php研究所 浏览:168
c回调java 浏览:399
梦幻端游长安地图互通源码 浏览:745
电脑本地文件如何上传服务器 浏览:313