导航:首页 > 编程语言 > 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实现事件相关的资料

热点内容
加密软件生成报告 浏览:382
app的名字去哪里注册 浏览:850
电脑里面文件夹打开跟之前不一样 浏览: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