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监听事件的更多相关文章

  1. [置顶] java Gui 键盘监听事件

    简单写一个java Gui键盘监听事件,实现的效果就是按下键盘控制台输出你按下的键.比如:按下A控制台就输出A 效果如图: 以下把实现的效果分为几个步骤: 1.新建一个窗体类继承窗体: 2.给这个窗体 ...

  2. JAVA JComboBox的监听事件(ActionListener、ItemListener)

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   参考资料: http://263229365.iteye.com/blog/1040329 https://www.ja ...

  3. java中的监听事件

    java监听器实现的类 1.ServletContextListener:对servlet上下文的创建和销毁监听 2.ServletContextAttributeListener:监听servlet ...

  4. Second Day: 关于Button监听事件的三种方法(匿名类、外部类、继承接口)

    第一种:通过匿名类实现对Button事件的监听 首先在XML文件中拖入一个Button按钮,并设好ID,其次在主文件.java中进行控件初始化(Private声明),随后通过SetOnClickLis ...

  5. 一步一步学android之事件篇——单选按钮监听事件

    在平常使用软件的时候,我们经常会碰见一些选择题,例如选择性别的时候,在男和女之间选,前面说过这个情况要用RadioGroup组件,那么点击了之后我们该怎么获取到选择的那个值呢,这就是今天要说的OnCh ...

  6. 横向滑动的listview和其中用到的触摸监听事件详解

    一.首先把横向的listview的代码放上来 HorizontalListView: package com.common.cklibrary.utils.myview; import java.ut ...

  7. springboot13 发布和监听事件

    spring中的事件驱动模型Event(也叫发布订阅模式),是观察者模式的一个典型的应用 好处:业务解耦,在不影响原来业务逻辑的情况下,加入其它业务 场景: app上线后已实现用户注册功能,现需要在用 ...

  8. Android开发 ---基本UI组件8:九宫格布局、setOnItemClickListener()项被选中监听事件

    效果图: 1.activity_main.xml 描述: 定义了一个按钮 <?xml version="1.0" encoding="utf-8"?> ...

  9. Android——监听事件总结

    各种监听事件 1.按钮 Button(1)点击监听 btn_1.setOnClickListener(new View.OnClickListener() { (2)长按监听 btn_1.setOnL ...

随机推荐

  1. 英文SEO外部链接资源收集之常用的footprints

      inurl:/privacy-policy "Using Article Directory plugin"inurl:/terms "Using Article D ...

  2. ng-bind-html在ng-repeat中问题的解决办法

    <div ng-controller="MyCtrl"> Hello, {{name}}! <div class="row" ng-repea ...

  3. 关于MyEclipse 半天打不开的问题(工作区间损坏)--转

    删掉 {workspace}/.metadata/.plugins\**\*.snap 所有的 .snap文件 一般可以解决问题 如果上面一步解决不了问题, 那么删掉 {workspace}/.met ...

  4. 【floyd】 poj 2240

    #include <iostream> #include <map> #include <string> #include <memory.h> usi ...

  5. 8数码,欺我太甚!<bfs+康拓展开>

    不多述,直接上代码,至于康拓展开,以前的文章里有 #include<iostream> #include<cstdio> #include<queue> using ...

  6. libtiff库使用

    此文章为了记录我在使用libtiff库中的一些问题而写,将不断补充. libtiff库是读取和写入tiff文件最主要的一个开源库,但文档写的实在不敢恭维.相对资料也是异常稀少. libtiff库的安装 ...

  7. 深入理解setTimeout和setinterval

    以前一直以为这两个函数就是简单了认为类似thread一样的东西, 认为会在一个时间片内, 并发的执行调用的函数, 似乎很好很强大, 但其实并不是如此, 实际的情况是javascript都是以单线程的方 ...

  8. HDU 4006 The kth great number 优先队列、平衡树模板题(SBT)

    The kth great number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65768/65768 K (Java/Oth ...

  9. HDU 5176 The Experience of Love 带权并查集

    The Experience of Love Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/O ...

  10. jsp设置footer底部内容

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...