導航:首頁 > 編程語言 > 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事件相關的資料

熱點內容
程序員看不懂怎麼辦 瀏覽:271
linux操作系統題 瀏覽:765
單片機無符號數加法 瀏覽:227
應用隱藏加密怎麼關閉 瀏覽:269
汽車空調的壓縮機電線有什麼用 瀏覽:429
電腦加密圖片如何取消加密 瀏覽:340
慧凈電子51單片機視頻 瀏覽:343
javamap賦值 瀏覽:165
什麼app可以玩掌機游戲 瀏覽:46
java簡單聊天室 瀏覽:462
通用汽車編程軟體 瀏覽:432
一級抗震框架梁箍筋加密區規定是多少 瀏覽:974
教你如何把安卓手機變成蘋果 瀏覽:11
app編譯分類 瀏覽:323
怎麼用伺服器的資源包 瀏覽:199
oa軟體手機登陸伺服器地址 瀏覽:289
androidrtp打包 瀏覽:723
信息被加密碼了怎麼辦 瀏覽:420
彈出光碟命令 瀏覽:517
kdj公式源碼分享 瀏覽:355