键盘上的舞者

像写情书一样Coding...

用户操作
[即时聊天] [发私信] [加为好友]
键盘上的舞者ID:chenweionline
68418次访问,排名1512(1)好友11人,关注者778
专注 Java Desktop 技术,多年 Java GUI 开发经验。
chenweionline的文章
原创 55 篇
翻译 0 篇
转载 19 篇
评论 142 篇
键盘上的舞者的公告

专注 JAVA Desktop 技术

简单做到极致

最近评论
hupy2007:讲的很好,但是上面提到的新建action的时候,可以选择有条件的可用,上文中写到下面会讲,但是下面也没有提到。我想问一下,project 、edit、open、save等都是些具体什么时候才会可用啊,谢谢了
zhangping:你好,我想我大约是遇上了和你同样的问题。

我的问题是:

我这里有一些java源文件,其中有些注释是日文写的。
在日文操作系统中,运行没有问题,但是在中文操作系统中

用NetBeans6.1重新建立工程,进行Build的时候,会报错和警告:



* <p>&……
兴趣:THS,能否介绍一些资料。
兴趣:如果采用JAVA, 它这方面的功能足够了吗?
兴趣:如果采用JAVA, 它这方面的功能足够了吗?
文章分类
收藏
    相册
    ChinaJoy 2008
    女魔头
    上海浦东软件园
    养在深闺人未识
    Favorite
    Apple-NaNa
    CnGadGet
    NOTCOT.ORG
    虚拟无忌
    技术
    Geertjan's Weblog
    java.net forums
    Let's Swing Java
    Mac Java Community
    NetBeans Rich Client Application (RCP)
    NetBeans星球
    open open
    朋友
    Christina
    企鹅博士
    地平线上
    阿憨月经
    非上上智
    资源
    balloontip
    bluemarine
    JAI
    JAI-ImageIO
    JMONKEYENGINE
    jna
    jrawio
    metadata extraction in java
    pdf-renderer
    QuickTime for Java
    swinglabs
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 不使用 java.awt.Desktop API,打开默认浏览器访问指定链接的方法收藏

    新一篇: 就这么讲 | 旧一篇: 为什么不能吞灯泡(好奇心太强者慎入)

    版权声明:转载时请务必保留以下作者信息和链接
    作者:陈维(chenweionline@hotmail.com)作者的网站:http://www.chenwei.mobi

    在 Java SE 6 中提供了一套桌面 API 实现与本机桌面 API 的无缝集成,这些桌面 API 使用你的主机操作系统的文件关联以启动与特定文件类型相关联的应用程序。但是因为目前许多客户端并没有安装、部署 JRE 6.0 之后的 Java 运行环境,那么在旧的运行环境中怎样才能调用默认浏览器打开指定的链接呢?

    这就是本文的主要内容。

    我们把目标平台暂定为 Windows XP 和 Mac OS X。

    Windows 平台

    可以在控制台中使用 rundll32.exe 调用 url.dll 这个动态连接库打开浏览器访问指定的链接。那么,我们在 Java 程序中就可以使用 Runtime.exec 方法来调用这个命令。(关于 Runtime.exec 可以参考我 blog 中的另一篇文章:Java 程序调用 exe

    String cmd = "rundll32 url.dll,FileProtocolHandler http://www.apple.com";
    Runtime.getRuntime().exec(cmd);

    当然,以上程序执行前,首先得判断当前的操作系统平台是否是 Windows。

        private static final String WIN_ID = "Windows";
        
        
    public static boolean isWindowsPlatform() {
            String os 
    = System.getProperty("os.name");
            
            
    if ( os != null && os.startsWith(WIN_ID))
                
    return true;
            
    else
                
    return false;
        }


    Mac OS X

    在 Mac 里稍微有些复杂。同样,我们需要判断当前操作系统平台是否是 Mac OS X。

        private static final String MAC_ID = "Mac";

        
    public static boolean isMacPlatform() {
            String os 
    = System.getProperty("os.name");
            
            
    if ( os != null && os.startsWith(MAC_ID))
                
    return true;
            
    else
                
    return false;
        }

    Apple 公司实现的 JDK 里有这么一个类:com.apple.mrj.MRJFileUtils,在 Mac 下可以使用它提供的方法  openURL 打开浏览器访问链接。为了使我们的程序兼容标准 Java  运行环境,所以使用反射技术来使用这个方法。

        public static void openMacURL(String url) {
            
    try{
                Class MRJFileUtils 
    = Class.forName("com.apple.mrj.MRJFileUtils");
                Method openMethod 
    = MRJFileUtils.getDeclaredMethod("openURL"new Class[] {String.class});
                openMethod.invoke(MRJFileUtils,
    new Object[]{formatString(url)});
            }
     catch(Exception e) {
                e.printStackTrace();
            }

        }

    formatString( String ) 顾名思义是用来重新格式化目标 URL。

        public static String formatString(String str) {
            String retString
    ="";
            String protocol 
    = "";
            String host 
    = "";
            String path 
    = "";
            
            
    try {
                java.net.URL url 
    = new java.net.URL(str);
                protocol 
    = url.getProtocol();
                host 
    = url.getHost();
                path 
    = url.getPath();
            }
     catch (MalformedURLException ex) {
                path 
    = str;
            }

            
            
    for(int i = 0; i < path.length(); i++{
                
    if(path.charAt(i) == ' '{
                    retString 
    += "%20";
                }
     else if(path.charAt(i) == '.'{
                    retString 
    += "%2E";
                }
     else {
                    retString 
    += path.substring(i, i + 1);
                }

            }

            
            
    if (!protocol.equals("")) {
                retString 
    = protocol + "://" + host + retString;
            }
     else {
                retString 
    = host + retString;
            }

            
            
    return retString ;
        }


    Mac 下默认调用的浏览器是 Safari



     
    作者的网站:http://www.chenwei.mobi 

    发表于 @ 2007年07月15日 15:12:00|评论(loading...)|收藏

    新一篇: 就这么讲 | 旧一篇: 为什么不能吞灯泡(好奇心太强者慎入)

    评论

    #yiyioo 发表于2007-07-20 13:45:20  IP: 220.248.36.*
    不能留言,只好添加评论了

    点到你的名了
    接力吧
    哈哈
    http://hi.baidu.com/yiyioo/blog/item/2f92b9123f49b7ccc2fd785e.html
    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © 键盘上的舞者