導航:首頁 > 編程語言 > java實現事件

java實現事件

發布時間:2025-03-11 13:46:12

A. java 寫一個action 能實現點擊事件後瀏覽器能自動下載xml文件的功能!!急

方法一:調用瀏覽器下載文件

下面Action里的代碼可以用調用瀏覽器進行下載xml文件

importjava.awt.Desktop;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.net.URI;
importjavax.swing.JButton;
importjavax.swing.JFrame;
{
JButtonjb;
publicDownLoadDemo(){
jb=newJButton("Download");
jb.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
try{
Stringpath="網路xml的地址";
URIuri=newURI(path);
Desktop.getDesktop().browse(uri);
}catch(Exceptione1){
e1.printStackTrace();
}
}
});
add(jb);
setTitle("調用瀏覽器下載");
setBounds(380,380,230,80);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);

}
publicstaticvoidmain(String[]args){
newDownLoadDemo();
}
}

當時上述下載方式,可能會彈出提示,比如保存位置等.


方法二:使用IO和net下載文件.這種方式沒有調用瀏覽器,下載過程,不會彈出提示燈

importjava.io.FileOutputStream;
importjava.io.InputStream;
importjava.net.URL;
importjava.net.URLConnection;
importjava.util.Date;

publicclassDownLoadDemo{
publicstaticvoidmain(String[]args)throwsException{
Stringstr="XML的網路地址";
URLurl=newURL(str);
URLConnectionurlconn=url.openConnection();
urlconn.connect();
InputStreamis=urlconn.getInputStream();
FileOutputStreamfos=newFileOutputStream("qq.exe");
byte[]buf=newbyte[4096];
intlength=0;
//System.out.println("開始下載時間:"+newDate());
while((length=is.read(buf))!=-1){
fos.write(buf,0,length);
}
fos.close();
is.close();
//System.out.println("下載完成時間:"+newDate());
}
}

B. 如何實現JAVA中滑鼠右鍵事件

1)給需要點擊的控制項設置滑鼠的監聽(addMouseListener)

2)實現相應的MouseListener介面

3)重寫mouseClicked()方法

如下圖所示:

C. 什麼是Java的事件處理機制

JAVA中當事件發生時,他不會進行廣播,而是僅僅向關心此事件的對象發送消息。那麼他怎麼知道誰「關心」此事件呢。
這就要求關心此事件的對象,先行向事件的發出方進行注冊,表示我關心此事件,當事件發生時請通知我。

【簡單來說】:就是事件的「處理方」向事件的「發出方」先行注冊,當事件發生時,事件的「發生方」負責通知事件的「處理方」。

譬如我編寫一個窗口,用到了JFrame,我想實現一個功能,當按下Q鍵時,窗口關閉。

import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

import javax.swing.JFrame;

public class TestFrame extends JFrame {
private static final long serialVersionUID = 5671798241966272024L;

public static void main(String[] args) {
new TestFrame();
}

public TestFrame() {
setSize(400, 300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
addKeyListener(new MyKeyListener());// 這句話就是所謂的注冊事件。
// MyKeyListener作為事件的處理方,向事件的觸發方TestFrame進行注冊。
// 這句話的意思是說,MyKeyListener對TestFrame說,我對於你的鍵盤事件感興趣,如果有鍵盤事件請告訴我。
// 而TestFrame有一個列表保存著MyKeyListener對象的引用。當鍵盤按下時,他會列表中所有引用,調用KeyPressed方法。
// 當鍵盤松開時還會調用keyReleased方法,但是我們對於鍵盤松開不太關心,所以下面的類,我們可以只編寫KeyPressed方法。
}

private final class MyKeyListener extends KeyAdapter {

@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_Q) {
System.exit(0);
}
}
}
}

D. java中什麼是事件源,事件的處理過程是什麼

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

事件 : 為了實現用戶對圖形界面組件的操作,定義了一些事件

滑鼠事件:單擊,雙擊,滾輪等....

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

焦點事件 :焦點獲得 ,焦點失去...

窗口事件: 窗口打開,窗口關閉等....


事件源: 發聲事件的場所. 比如按鈕被點擊,那麼事件源就是按鈕

文本框獲得焦點. 那麼事件源就是文本框

窗口被關閉,那麼事件源就是窗口


事件源-----產生----->事件------>被事件監聽器發現------>進入事件處理代碼

importjava.awt.Frame;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;
{//窗口就是事件源
publicDemoAction(){
this.setTitle("窗口關閉");
this.setLocation(400,200);
this.setSize(360,280);
//給窗口綁定一個事件監聽器
this.addWindowListener(newWindowAdapter(){
@Override
publicvoidwindowClosing(WindowEvente){//事件WindowEvent
System.exit(0);//關閉窗口事件,那麼退出jvm
}
});
this.setVisible(true);
}

publicstaticvoidmain(String[]args){
newDemoAction();
}
}
閱讀全文

與java實現事件相關的資料

熱點內容
電腦裡面文件夾打開跟之前不一樣 瀏覽:812
小飛機顯示連接到伺服器怎麼辦 瀏覽:939
利用客戶端源碼獲取服務端 瀏覽:972
ecshopios源碼 瀏覽:642
解壓的空間 瀏覽:322
安卓攝像頭為什麼是反的 瀏覽:62
php匹配img標簽 瀏覽:881
溯源碼查不出來是假貨嗎 瀏覽:994
phpxssclean 瀏覽:680
python如何調用r 瀏覽:468
被動命令 瀏覽:914
2k22codex未加密 瀏覽:159
安卓手機拼多多怎麼關閉半屏通知 瀏覽:996
織夢php環境搭建 瀏覽:790
lbsandroid百度 瀏覽:528
如何查看別人源碼的重定向 瀏覽:645
linux單片機實例 瀏覽:200
硬碟錄像機壓縮格式 瀏覽:505
崩潰大陸中的時空文件夾怎麼獲得 瀏覽:29
wps怎麼把pdf文件縮小 瀏覽:232