posts - 59, comments - 244, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理
使用javascript和CSS,可以把web的页面设计搞得很漂亮;但如果你想把CS的桌面程序搞得漂亮点,这个还真不容易。虽然像swing
可以更换外观http://www.open-open.com/61.htm让界面漂亮点,但这些也只是让swing控件漂亮点。对于程序的整体布局等,相对
javascript和CSS做出来的页面效果,实在显得有点差。

本文是先通过tree.html设计好程序界面,再调用jdic中的浏览器控件org.jdesktop.jdic.browser.WebBrowser显示tree.html
程序的功能主要是实现上一篇介绍的http://www.blogjava.net/pengo/archive/2010/01/26/310849.html

tree.html代码
通过<a>标记传递参数,当点击C盘时,URL将会变为....../tree.html#explorer.exe c:
<span style="top: 213px; height: 211px; visibility: visible;" class="link"><div class="title">我的电脑</div>
    
<div style="visibility: hidden;" class="text">
        
<href="#explorer.exe c:" class="alink">C盘</a> <br/>
        
<href="#explorer.exe d:" class="alink">D盘</a> <br/>
        
<href="#explorer.exe e:" class="alink">E盘</a> <br/>
        
<href="#explorer.exe ::{208D2C60-3AEA-1069-A2D7-08002B30309D}" class="alink" >网上邻居</a> <br/>
              
<href="#explorer.exe ::{645FF040-5081-101B-9F08-00AA002F954E}" class="alink">回收站</a> <br/>
              
<href="#notepad" class="alink">记事本</a> <br/>
          
</div>
</span>
<span style="top: 231px; height: 211px; visibility: visible;" class="link"><div class="title">关机管理</div>
    
<div style="visibility: hidden;" class="text">
        
<href="#Shutdown.exe -s -t 00" class="alink">关机</a> <br/>        
        
<href="#Shutdown.exe -r -f -t 00" class="alink">重启</a> <br/>
    
</div>
</span>

MenuTest.java代码:
在webBrowser的WebBrowserListener事件中实现downloadCompleted方法,先获取当前页的URL,通过分析URL后边的参数,获得“#”符号后操作命令。
public void downloadCompleted(WebBrowserEvent event) {           
                URL currentUrl 
= webBrowser.getURL();
                
if(currentUrl != null){
                    String cmd 
= currentUrl.toString();
                    
                    
if(cmd.indexOf("#"!= -1){
                        cmd 
= cmd.substring(cmd.indexOf("#"+ 1);
                        
if(cmd.equals("exit")){
                            System.exit(
0);
                        }
                        
try {
                            Runtime.getRuntime().exec(cmd);        
                        } 
catch (Exception ex) {
                            
                            ex.printStackTrace();
                        }
                    }
                    
                }
              
            }

效果图:
一个快捷打开工具的实现

原代码:HtmlFrame.src.rar
运行程序:HtmlFrame.jar.rar


只有注册用户登录后才能发表评论。


网站导航: