java监听事件
2014年2月23日 09:51:54
成功添加了打开官网的事件,
回头研究下,那个打开url的类
java的System.getProperty()方法可以获取的值
###################################
2014年2月23日 22:16:25 今天搬家,下午很忙。回来整理下。今天的实现了打开url和打开文件的事情效果
/*瑞德医疗官网,工作日志*/
private JPanel getInfoJP() {
if(infoJP==null){
infoJP = new JPanel();
//infoJP.setSize(500, 200);
infoJP.setLayout(new FlowLayout());
JButton ryzurNet =new JButton("瑞德医疗官网");
infoJP.add(ryzurNet);
ryzurNet.setMnemonic(KeyEvent.VK_I); ryzurNet.addActionListener(new RyzurInternet()); JButton ryzurLog = new JButton("查看本地日志");
infoJP.add(ryzurLog); ryzurLog.setMnemonic(KeyEvent.VK_I); ryzurLog.addActionListener(new ReadLog()); }
return infoJP;
}
所需的事件类 如下
打开指定url的页面
package cn.wuwenfu.swing; /*
* open url www.ryzur.com.cn
* 2014年2月23日 22:01:15
*
* */
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; public class RyzurInternet implements ActionListener { @Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String url = "www.ryzur.com.cn";
BareBonesBrowserLaunch.openURL(url); } }
下面这个引用网络上别人写的类,只测试了window,可以正常打开。
package cn.wuwenfu.swing; /////////////////////////////////////////////////////////
//Bare Bones Browser Launch //
//Version 1.5 (December 10, 2005) // //支持: Mac OS X, GNU/Linux, Unix, Windows XP//
//
///////////////////////////////////////////////////////// import java.lang.reflect.Method; public class BareBonesBrowserLaunch { public static void openURL(String url) {
try {
browse(url);
} catch (Exception e) {
}
} private static void browse(String url) throws Exception {
//获取操作系统的名字
String osName = System.getProperty("os.name", ""); // System.out.println(osName);
if (osName.startsWith("Mac OS")) {
//苹果的打开方式
Class fileMgr = Class.forName("com.apple.eio.FileManager");
Method openURL = fileMgr.getDeclaredMethod("openURL", new Class[] { String.class });
openURL.invoke(null, new Object[] { url });
} else if (osName.startsWith("Windows")) {
//windows的打开方式。
Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url);
} else {
// Unix or Linux的打开方式
String[] browsers = { "firefox", "opera", "konqueror", "epiphany", "mozilla", "netscape" };
String browser = null;
for (int count = 0; count < browsers.length && browser == null; count++)
//执行代码,在brower有值后跳出,
//这里是如果进程创建成功了,==0是表示正常结束。
if (Runtime.getRuntime().exec(new String[] { "which", browsers[count] }).waitFor() == 0)
browser = browsers[count];
if (browser == null)
throw new Exception("Could not find web browser");
else
//这个值在上面已经成功的得到了一个进程。
Runtime.getRuntime().exec(new String[] { browser, url });
}
}
}
另一个事件 打开文件
package cn.wuwenfu.swing; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException; /*
* click button ,open log file
* 2014年2月23日 22:03:49
* */
public class ReadLog implements ActionListener{ @Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
Runtime rt = Runtime.getRuntime(); try {
Process p = rt.exec("cmd /c start c:/log.txt");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} } }
到这里,界面上2个按钮的功能完毕。还有2个按钮,需要负责工程的启动和关闭。明天有空再弄
今天的收获:java的按钮添加事件,很简单,没有之前的复杂,自己感到自信了很多。
另外一个收获:今天看了电子书,<<php实战>>,其中提到一个细节,可以使用while循环,确保程序不会退出。运行错误,则立刻重启。 避免额外写程序 监听和重启当前程序。
github 在尝试使用,英文不会的好多,目前可以阅读源代码了,尝试看了CI的源码,有难度
java监听事件的更多相关文章
- [置顶] java Gui 键盘监听事件
简单写一个java Gui键盘监听事件,实现的效果就是按下键盘控制台输出你按下的键.比如:按下A控制台就输出A 效果如图: 以下把实现的效果分为几个步骤: 1.新建一个窗体类继承窗体: 2.给这个窗体 ...
- JAVA JComboBox的监听事件(ActionListener、ItemListener)
版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 参考资料: http://263229365.iteye.com/blog/1040329 https://www.ja ...
- java中的监听事件
java监听器实现的类 1.ServletContextListener:对servlet上下文的创建和销毁监听 2.ServletContextAttributeListener:监听servlet ...
- Second Day: 关于Button监听事件的三种方法(匿名类、外部类、继承接口)
第一种:通过匿名类实现对Button事件的监听 首先在XML文件中拖入一个Button按钮,并设好ID,其次在主文件.java中进行控件初始化(Private声明),随后通过SetOnClickLis ...
- 一步一步学android之事件篇——单选按钮监听事件
在平常使用软件的时候,我们经常会碰见一些选择题,例如选择性别的时候,在男和女之间选,前面说过这个情况要用RadioGroup组件,那么点击了之后我们该怎么获取到选择的那个值呢,这就是今天要说的OnCh ...
- 横向滑动的listview和其中用到的触摸监听事件详解
一.首先把横向的listview的代码放上来 HorizontalListView: package com.common.cklibrary.utils.myview; import java.ut ...
- springboot13 发布和监听事件
spring中的事件驱动模型Event(也叫发布订阅模式),是观察者模式的一个典型的应用 好处:业务解耦,在不影响原来业务逻辑的情况下,加入其它业务 场景: app上线后已实现用户注册功能,现需要在用 ...
- Android开发 ---基本UI组件8:九宫格布局、setOnItemClickListener()项被选中监听事件
效果图: 1.activity_main.xml 描述: 定义了一个按钮 <?xml version="1.0" encoding="utf-8"?> ...
- Android——监听事件总结
各种监听事件 1.按钮 Button(1)点击监听 btn_1.setOnClickListener(new View.OnClickListener() { (2)长按监听 btn_1.setOnL ...
随机推荐
- Magento首页显示产品
Magento首页显示产品 经常用的比较琐碎,上官网发现一个稍微全一点的不过没有针对 具体使用过程中遇到的情况进行修正 这边只做一个备忘吧 (细节问题 按个别情况进行修改即可) New ...
- AJAX开发技术--AJAX简介
Asynchronous JavaScript and XML,异步JavaScript和XML 主要目的用于页面的局部刷新.不用全部刷新,提高性能. 在AJAX中主要是通过XMLHttpReque ...
- 为什么MVC不是一种设计模式? ---比较Backbone和Ext4.x在MVC实现上的差异
为什么MVC不是一种设计模式? ---比较Backbone和Ext4.x在MVC实现上的差异 大漠穷秋 前言 圣人云:不想做妈咪的小姐不是好码农. 每一个码农的心中都有一个终极理想,那就是有一天不用再 ...
- 草,又学了个新命令,nc传文件。
nc -l 5222 > aa nc 192.168.0.48 5222 < a http://www.linuxso.com/command/nc.html
- C#入门经典第六章函数-2-委托
委托:
- 素数路(prime)
素数路(prime) 题目描述 已知一个四位的素数,要求每次修改其中的一位,并且要保证修改的结果还是一个素数,还不能出现前导零.你要找到一个修改数最少的方案,得到我们所需要的素数. 例如把1033变到 ...
- [转]JSON详解
阅读目录 JSON的两种结构 认识JSON字符串 在JS中如何使用JSON 在.NET中如何使用JSON 总结 JSON的全称是”JavaScript Object Notation”,意思是Java ...
- php生成html 伪静态??
先建一个网页模板文件,命名为tmp.html,内容如下: <!DOCTYPE html> <html> <head> <title&g ...
- UI常用控件
UICommonlyUsedControls [UI常用控件] 不需要学习多么深入,但是要知道系统提供的有用的控件. 一.UISwitch(开关) 二.UIActivityIndicatorView( ...
- thinkphp5.0 生命周期
1.入口文件 // 应用入口文件 index.php // 定义项目路径 define('APP_PATH', __DIR__ . '/../application/'); // 加载框架引导文件 r ...