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

热点内容
压缩机功率型号 浏览:559
PLC程序算法 浏览:971
物流程序员好不好 浏览:546
插值算法vb 浏览:926
androidwebview报错 浏览:241
中国什么时候才能有自己的服务器 浏览:764
ps3联机服务器怎么用 浏览:670
服务器nfs服务是什么 浏览:95
java虚拟机直接编译 浏览:608
javaaop实现 浏览:61
java双向通信 浏览:513
mps430超低功耗单片机答案 浏览:899
夫妻数学算法中大奖 浏览:399
nmake不是内部命令 浏览:779
如何创建社区ppoe虚拟服务器 浏览:516
java模拟线程并发 浏览:762
一个云服务器能有几个实例 浏览:191
如何在服务器压缩zip格式 浏览:87
去除数组中重复元素的算法 浏览:998
巴士之星安卓如何玩 浏览:652