日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
java按鈕事件源代碼 javaweb按鈕事件

Java給按鈕添加事件

贊一個, 提前學(xué)習(xí), 做好預(yù)先 , 是個好習(xí)慣.

專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)浮梁免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了成百上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

java圖形界面主要有AWT, SWING, SWT, JavaFx等技術(shù)

JButton ?(按鈕)是SWING里面很常用的組件. 直接添加按鈕到窗口,并不會產(chǎn)生任何交互效果.

要想產(chǎn)生交互效果,就需要了解awt,swing的事件處理機(jī)制:

事件:用戶對組件的一個操作,稱之為一個事件;

事件源:發(fā)生事件的組件就是事件源;

事件處理器:負(fù)責(zé)處理事件的方法;

比如 點(diǎn)擊按鈕,彈出HelloWord,

那么 事件是 點(diǎn)擊按鈕 ,事件源就是按鈕,事件處理器就會彈出對話框,顯示HelloWord.

常用的事件(Event) 有:

鼠標(biāo)事件(MouseEvent:?鼠標(biāo)按下,移入,移除,滾輪..)

鍵盤事件(KeyEvent:?鍵盤按下,釋放..)

動作事件(?ActionEvent:當(dāng)按鈕、菜單項(xiàng)被點(diǎn)擊,在JTextField中按Enter鍵時...觸發(fā)該事件。)

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

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

KeyEvent 那么他的接收器就是KeyListener

基礎(chǔ)知識,大概就是這些.

所以想要JButton產(chǎn)生交互,你就需要給他添加事件處理器,當(dāng)發(fā)生這些事件時,出發(fā)該處理器,進(jìn)行處理.

寫2個例子,第一個簡單的:點(diǎn)擊按鈕,彈出Hello World

//導(dǎo)入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)?{//接受到事件后,進(jìn)行下面的處理

System.out.println("Hello?World");//?控制臺打印輸出

JOptionPane.showMessageDialog(null,?"Hello?World");//?彈出對話框,顯示Hello?World

}

});

add(jbHello);//把按鈕添加到窗體

//?窗體屬性的設(shè)置

setLayout(new?FlowLayout());//?窗體流式布局,?按添加順序從左到右排列組件

setSize(300,?200);//?寬300像素,高200

setLocationRelativeTo(null);//?窗體放在顯示器中間

setTitle("HelloWord");//?窗體的標(biāo)題

setDefaultCloseOperation(EXIT_ON_CLOSE);//?點(diǎn)擊窗體右上角的關(guān)閉按鈕時,結(jié)束程序

setVisible(true);//?窗體可見

}

public?static?void?main(String[]?args)?{

new?ButtonDemo();

}

}

看明白了吧, addActionListener是關(guān)鍵

進(jìn)階版 :加法計(jì)算器.? 代碼稍微長一點(diǎn),.但注釋很多

參考代碼如下

import?java.awt.*;

import?java.awt.event.*;

import?javax.swing.*;

//AddFrame繼承自JFrame類,?并且實(shí)現(xiàn)了ActionListener?接口

public?class?AddFrame?extends?JFrame?implements?ActionListener?{

//?組件

JTextField?jtf1,?jtf2,?jtf3;//?文本框,用于:顯示數(shù)字

JButton?jbAdd;//?按鈕,用于:當(dāng)點(diǎn)擊按鈕時,計(jì)算出加法的結(jié)果

JButton?jbClear;//?按鈕,?用于,清空數(shù)字

public?AddFrame()?{//?構(gòu)造方法

//?初始化組件

jtf1?=?new?JTextField(5);//?長度為5的文本框

JLabel?jl?=?new?JLabel("+");//文字標(biāo)簽

jtf2?=?new?JTextField(5);

jtf3?=?new?JTextField(6);

jtf3.setEditable(false);

jbAdd?=?new?JButton("=");

jbAdd.addActionListener(this);//因?yàn)楸绢愐呀?jīng)實(shí)現(xiàn)了ActionListener接口,所以添加事件的接收器就是自己(this)

jbClear?=?new?JButton("清除");

jbClear.addActionListener(this);

//把組件,添加到窗體

add(jtf1);

add(jl);

add(jtf2);

add(jbAdd);

add(jtf3);

add(jbClear);

//?窗體屬性的設(shè)置

setLayout(new?FlowLayout());//窗體流式布局,?按添加順序從左到右排列組件

setSize(380,?100);//?寬380像素,高100

setLocationRelativeTo(null);//?窗體放在顯示器中間

setTitle("加法計(jì)算器");//?窗體的標(biāo)題

setDefaultCloseOperation(EXIT_ON_CLOSE);//?點(diǎn)擊窗體右上角的關(guān)閉按鈕時,結(jié)束程序

setVisible(true);//?窗體可見

}

/*

*??實(shí)現(xiàn)ActionListener接口?就必須重寫actionPerformed方法

*/

@Override

public?void?actionPerformed(ActionEvent?e)?{//?當(dāng)事件產(chǎn)生后,就會執(zhí)行actionPerformed里的方法

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

if(jbTemp==jbAdd)?{//如果是從jbAdd產(chǎn)生的事件.那么執(zhí)行加法操作

//因?yàn)槭呛唵伟咐?就不判斷和處理,用戶亂輸入字母漢字等情況,導(dǎo)致的異常了

int?x?=?Integer.parseInt(jtf1.getText());//從文本框1得到字符串,并轉(zhuǎn)化成數(shù)字

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

jtf3.setText(x+y+"");//計(jì)算2個數(shù)的和,并顯示在文本框3上

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

jtf1.setText("");

jtf2.setText("");

jtf3.setText("");

}

}

//?main方法

public?static?void?main(String[]?args)?{

new?AddFrame();//創(chuàng)建一個AddFrame的實(shí)例

}

}

求助能以按鈕事件、文本框事件的方式,以圖形用戶界面的形式顯示6位隨機(jī)數(shù)的Java源程序?

package com.xd.gui;

import java.awt.FlowLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.FocusEvent;

import java.awt.event.FocusListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JTextArea;

public class RandomNum {

private JFrame frame;

private JButton btn;

private JTextArea text;

public static void main(String[] args) {

new RandomNum();

}

public RandomNum() {

init();

}

public void init() {

frame=new JFrame();

btn =new JButton();

text=new JTextArea();

//設(shè)置組件屬性

btn.setText("生成隨機(jī)數(shù)");

text.setRows(5);

text.setColumns(20);

//設(shè)置流式布局,增加組件

frame.setLayout(new FlowLayout());

frame.add(btn);

frame.add(text);

//設(shè)置窗體起始位置

frame.setBounds(600, 300, 300, 300);

//添加功能

fun ();

textFun();

//設(shè)置窗體可見

frame.setVisible(true);

}

public void fun() {

btn.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

text.setText((int)(Math.random()*899999+100000)+"");

}

});

}

//文本框獲得焦點(diǎn)顯示6位隨機(jī)數(shù)

public void textFun() {

text.addFocusListener(new FocusListener() {

@Override

public void focusGained(FocusEvent e) {

text.setText((int)(Math.random()*899999+100000)+"");

}

@Override

public void focusLost(FocusEvent e) {

//失去焦點(diǎn)什么都不做

}

});

}

}

java中什么是事件源,事件的處理過程是什么

在java的圖形界面開發(fā)中,要讓圖形界面接收到用戶的操作,就要給各個組件添加事件處理機(jī)制。

事件 : ?為了實(shí)現(xiàn)用戶對圖形界面組件的操作,定義了一些事件

鼠標(biāo)事件:單擊,雙擊,滾輪等....

鍵盤事件 按下鍵盤,松開按鍵等...

焦點(diǎn)事件 :焦點(diǎn)獲得 ,焦點(diǎn)失去...

窗口事件: 窗口打開,窗口關(guān)閉等....

事件源: 發(fā)聲事件的場所. 比如按鈕被點(diǎn)擊,那么事件源就是按鈕

文本框獲得焦點(diǎn). 那么事件源就是文本框

窗口被關(guān)閉,那么事件源就是窗口

事件源-----產(chǎn)生-----事件------被事件監(jiān)聽器發(fā)現(xiàn)------進(jìn)入事件處理代碼

import?java.awt.Frame;

import?java.awt.event.WindowAdapter;

import?java.awt.event.WindowEvent;

public?class?DemoAction?extends?Frame?{//窗口就是事件源

public?DemoAction()?{

this.setTitle("窗口關(guān)閉");

this.setLocation(400,?200);

this.setSize(360,?280);

//給窗口綁定一個事件監(jiān)聽器

this.addWindowListener(new?WindowAdapter()?{

@Override

public?void?windowClosing(WindowEvent?e)?{//事件WindowEvent

System.exit(0);//關(guān)閉窗口事件,?那么退出jvm

}

});

this.setVisible(true);

}

public?static?void?main(String[]?args)?{

new?DemoAction();

}

}


網(wǎng)站名稱:java按鈕事件源代碼 javaweb按鈕事件
地址分享:http://www.dlmjj.cn/article/dojpggo.html