谁知道java实现超链接?谢谢 樓主的問題我也沒看懂~~~ 我正好也想在java里實現超連接的功能:在一個editor區域,有一段String,想使鼠標移到String上時,形狀變成手狀,點擊會一個新的窗口,請教各位!如果解決了,我會開貼給分的,謝謝! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 主要就是java 的开窗问题了。我也在找这个问题的解决办法。关注 to:aiur(AIUR)在string的代码中加入:style="CURSOR: hand" 变成手打开新窗体:javascriptfunction OpenBut(){ window.open("OpenClose.htm","OpenColse","boolbar=no,menubar=no,left=100,top=100");} 其中openclose.htm为新窗体名。 这只是调用HTML的方法啊,我们在问的是Java自己的方法================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。 ★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! ★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ● 可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zipHttp://www.ChinaOK.net/csdn/csdn.rarHttp://www.ChinaOK.net/csdn/csdn.exe [自解压] to caipeng27() 我是想在java的application中實現,不是在html里調用javascript,感謝你的關注to zhouwj(阿杰) 開窗問題?是新建一個窗口嗎?我想這個不是問題我是想在一個editor區域(例如JList,JTable等上)有一段string,可以超連,鼠標移到上方會變成手狀,而且超連的string最好還能設置顏色 你可以继承具体的控件来处理鼠标事件处理。http://www.delfan.com/java/urllabel.html有个例子你可以参考一下。 要实现超链接的新式很简单如:Jlabel1.setText("<html><a href=http://www.xxx.com>xxx</a>");但是鼠标事件不能连接到超链接啊?所以有没有什么java内部方法可以让浏览器打开并到超链接?我说得不是用Runtime或者Process 有一个比较简单的解决方案:你把向上向下做成按钮,在事件中open 一个新的Frame(JInternalFrame最好)不就行了吗?至于在JList,JTable中也可以触发事件,新开一个窗口,再就是象阿杰说的那样,可以用HTML来控制文本的显示,但是鼠标会不会变就不知道了。还有一种方法就是对应HTML的,就象JBuilder帮助里那样做的,数据源为HTML文档,然后把它读取来,就是用JEditorPane(对HTML版本支持较低,如果复杂的酒会显示不出来):下面是一个例子,会打开新浪,有些别的测试代码我删去了,运行可能会有错,如果有错自己改一下吧:import javax.swing.*;import javax.swing.event.*;import javax.swing.text.*;import javax.swing.text.html.*;import javax.swing.border.*;import javax.swing.colorchooser.*;import javax.swing.filechooser.*;import javax.accessibility.*;import java.awt.*;import java.text.*;import java.awt.event.*;import java.beans.*;import java.util.*;import java.io.*;import java.applet.*;import java.net.*;public class HtmlDemo extends JFrame{ JEditorPane html; /** * main method allows us to run as a standalone demo. */ public static void main(String[] args) { JFrame demo = new HtmlDemo(); demo.setSize(800,600); JTable te =new JTable(); demo.setLocation(10,10); demo.show(); String aa = new String("java"); aa.replace('j','i'); } /** * HtmlDemo Constructor */ public HtmlDemo(){ super(); try { URL url = new URL("http://www.sina.com.cn"); try { //path = "/resources/index.html"; //url = getClass().getResource(path); } catch (Exception e) { //System.err.println("Failed to open " + path); url = null; } if(url != null) { html = new JEditorPane(url); html.setEditable(false); html.addHyperlinkListener(createHyperLinkListener()); JScrollPane scroller = new JScrollPane(); JViewport vp = scroller.getViewport(); vp.add(html); this.getContentPane().add(scroller, BorderLayout.CENTER); } } catch (MalformedURLException e) { System.out.println("Malformed URL: " + e); } catch (IOException e) { System.out.println("IOException: " + e); } } public HyperlinkListener createHyperLinkListener() { return new HyperlinkListener() { public void hyperlinkUpdate(HyperlinkEvent e) { if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { if (e instanceof HTMLFrameHyperlinkEvent) { ((HTMLDocument)html.getDocument()).processHTMLFrameHyperlinkEvent( (HTMLFrameHyperlinkEvent)e); } else { try { html.setPage(e.getURL()); } catch (IOException ioe) { System.out.println("IOE: " + ioe); } } } } }; }} rs<K,V,N>中如何获取k、v、n的值? 关于多进程的入门问题 JLabel的名称中如何换行? 对象的句柄是指的什么呢 重载问题? 没有边框的模态弹出对话框无法捕获鼠标离开事件 文件我已经建立了,为什么总返回false?? 请问为什么我的corba程序在两个机器上不能运行,很急的问!! 请有谁知道那里有电子版的JavaAPI的可下,要网页形式的. 中文问题 不知那里出错了 关于直接在dos下用jdk编译的命令参数问题?在线等,急! GG,DD们帮帮忙吧!!
关注
在string的代码中加入:style="CURSOR: hand" 变成手打开新窗体:javascript
function OpenBut()
{
window.open("OpenClose.htm","OpenColse","boolbar=no,menubar=no,left=100,top=100");
}
其中openclose.htm为新窗体名。
================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
我是想在java的application中實現,不是在html里調用javascript,感謝你的關注to zhouwj(阿杰)
開窗問題?是新建一個窗口嗎?我想這個不是問題
我是想在一個editor區域(例如JList,JTable等上)有一段string,可以超連,鼠標移到上方會變成手狀,而且超連的string最好還能設置顏色
http://www.delfan.com/java/urllabel.html有个例子你可以参考一下。
如:
Jlabel1.setText("<html><a href=http://www.xxx.com>xxx</a>");
但是鼠标事件不能连接到超链接啊?
所以有没有什么java内部方法可以让浏览器打开并到超链接?
我说得不是用Runtime或者Process
至于在JList,JTable中也可以触发事件,新开一个窗口,再就是象阿杰说的那样,可以用HTML来控制文本的显示,但是鼠标会不会变就不知道了。
还有一种方法就是对应HTML的,就象JBuilder帮助里那样做的,数据源为HTML文档,然后把它读取来,就是用JEditorPane(对HTML版本支持较低,如果复杂的酒会显示不出来):
下面是一个例子,会打开新浪,有些别的测试代码我删去了,运行可能会有错,如果有错自己改一下吧:import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;
import javax.swing.text.html.*;
import javax.swing.border.*;
import javax.swing.colorchooser.*;
import javax.swing.filechooser.*;
import javax.accessibility.*;import java.awt.*;
import java.text.*;
import java.awt.event.*;
import java.beans.*;
import java.util.*;
import java.io.*;
import java.applet.*;
import java.net.*;public class HtmlDemo extends JFrame{ JEditorPane html; /**
* main method allows us to run as a standalone demo.
*/
public static void main(String[] args) {
JFrame demo = new HtmlDemo();
demo.setSize(800,600);
JTable te =new JTable(); demo.setLocation(10,10);
demo.show();
String aa = new String("java");
aa.replace('j','i');
} /**
* HtmlDemo Constructor
*/
public HtmlDemo(){
super();
try {
URL url = new URL("http://www.sina.com.cn");
try {
//path = "/resources/index.html";
//url = getClass().getResource(path);
} catch (Exception e) {
//System.err.println("Failed to open " + path);
url = null;
}
if(url != null) {
html = new JEditorPane(url);
html.setEditable(false);
html.addHyperlinkListener(createHyperLinkListener()); JScrollPane scroller = new JScrollPane();
JViewport vp = scroller.getViewport();
vp.add(html);
this.getContentPane().add(scroller, BorderLayout.CENTER);
}
} catch (MalformedURLException e) {
System.out.println("Malformed URL: " + e);
} catch (IOException e) {
System.out.println("IOException: " + e);
}
} public HyperlinkListener createHyperLinkListener() {
return new HyperlinkListener() {
public void hyperlinkUpdate(HyperlinkEvent e) {
if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
if (e instanceof HTMLFrameHyperlinkEvent) {
((HTMLDocument)html.getDocument()).processHTMLFrameHyperlinkEvent(
(HTMLFrameHyperlinkEvent)e);
} else {
try {
html.setPage(e.getURL());
} catch (IOException ioe) {
System.out.println("IOE: " + ioe);
}
}
}
}
};
}}