|
14 | 14 | import java.io.IOException; |
15 | 15 | import java.io.InputStream; |
16 | 16 | import java.io.OutputStream; |
| 17 | +import java.lang.reflect.Method; |
17 | 18 | import java.net.MalformedURLException; |
| 19 | +import java.net.URI; |
18 | 20 | import java.net.URL; |
19 | 21 | import java.util.HashMap; |
20 | 22 | import java.util.Hashtable; |
@@ -669,17 +671,31 @@ public static BufferedInputStream getURLInputStream(URL url, boolean andDelete) |
669 | 671 | */ |
670 | 672 | @Override |
671 | 673 | public void displayURL(String url, String target) { |
672 | | - showWebPage((URL)(Object)url, target); |
| 674 | + showWebPage(url, target); |
673 | 675 | } |
674 | 676 |
|
675 | | - public static void showWebPage(URL url, Object target) { |
676 | | - /** |
677 | | - * @j2sNative |
678 | | - * |
679 | | - * if (target) window.open(url.toString(), target); else |
680 | | - * window.open(url.toString()); |
681 | | - */ |
682 | | - } |
| 677 | + public static void showWebPage(Object url, Object target) { |
| 678 | + String surl = (url instanceof String ? (String) url : url.toString()); |
| 679 | + /** |
| 680 | + * @j2sNative |
| 681 | + * |
| 682 | + * if (target) window.open(surl, target); else |
| 683 | + * window.open(url.toString()); |
| 684 | + */ |
| 685 | + { |
| 686 | + try { |
| 687 | + Class<?> c = Class.forName("java.awt.Desktop"); |
| 688 | + Method getDesktop = c.getMethod("getDesktop", new Class[] {}); |
| 689 | + Object deskTop = getDesktop.invoke(null, new Object[] {}); |
| 690 | + Method browse = c.getMethod("browse", new Class[] { URI.class }); |
| 691 | + Object arguments[] = { new URI(surl) }; |
| 692 | + browse.invoke(deskTop, arguments); |
| 693 | + } catch (Exception e) { |
| 694 | + e.printStackTrace(); |
| 695 | + } |
| 696 | + } |
| 697 | + |
| 698 | + } |
683 | 699 |
|
684 | 700 |
|
685 | 701 |
|
|
0 commit comments