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的源码,有难度

最新文章

  1. XPATH使用总结
  2. 解决mysql出现“the table is full”的问题
  3. HTML &amp; XML 转义字符
  4. php引用详解
  5. 【JSP&amp;Servlet学习笔记】5.Servlet进阶AIP、过滤器与监听器
  6. C#中volatile的用法
  7. CSS align-content 属性
  8. Linux笔记(十三) - 系统管理
  9. dubbox系列【二】——dubbox admin环境搭建
  10. studio中碰到的jni问题:java.lang.UnsatisfiedLinkError
  11. 如何零基础开始自学Python编程
  12. 6-MVC结构简介
  13. 使用 Travis CI 实现项目的持续测试反馈
  14. 调试阶段 获取微信小程序openid
  15. lumen
  16. 【SVD、特征值分解、PCA关系】
  17. TZOJ 2560 Geometric Shapes(判断多边形是否相交)
  18. Evenbus简单用法
  19. linux文件系统 - 初始化(三)
  20. C语言预处理命令详解

热门文章

  1. 帝国cms文章内容tags关键词设置调用方法以及tags静态化
  2. Apache 实现ProxyPass转发URL到Tomcat并实现http自动转https【转载】
  3. FFmpeg的Android平台移植—编译篇
  4. 正则抓取网页所有href和src
  5. USB的八个问题和答案(转)
  6. 自己用wireshark 抓了个包,分析了一下
  7. gen_grant_exec.sql
  8. 实例:SSH结合Easyui实现Datagrid的新增功能和Validatebox的验证功能
  9. 全新安装免费的OS X Mavericks 10.9正式版--安装U盘制作指南
  10. Kali-linux安装之后的简单设置(转)