我导入了一个要在JEditorPane中显示的HTML文件,并且在HTML代码中是链接。但是,在应用程序中,单击链接将不会打开任何内容。 HTML页面显示的很好,但是那些链接对我来说不起作用。它们是否在JEditorPane中被禁用?以及单击该如何使它们打开链接的网站?
static JPanel createResourcesPage() {
finalResourcesPage = new JPanel(new BorderLayout());
JEditorPane editorpane = new JEditorPane();
File file = new File("src/resourcesPageHTML.html");
try {
editorpane.setPage(file.toURI().toURL());
}
catch (MalformedURLException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
editorpane.setEditable(false);
JScrollPane scroll = new JScrollPane(editorpane);
scroll.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
scroll.setPreferredSize(new Dimension(500, 300));
finalResourcesPage.add(scroll);
finalResourcesPage.add(editorpane);
return finalResourcesPage;
}
编辑:忘记包括HTML文件不只包含链接。只是文件中有链接。
答案 0 :(得分:0)
尝试这样的事情:
final JEditorPane links = new JEditorPane();
editor.setEditorKit(JEditorPane.createEditorKitForContentType("text/html"));
editor.setEditable(false);
现在,您必须将编辑器设置为链接文本,然后向其中添加点击处理程序:
links.setText("<a href=\"http://www.google.com</a>");
links.addHyperlinkListener(new HyperlinkListener() {
public void hyperlinkUpdate(HyperlinkEvent e) {
if(e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
// desired action for link
}
}
});
现在,您可以指定单击链接时发生的情况。如果要启动默认浏览器,请使用以下命令:
if(Desktop.isDesktopSupported())
{
Desktop.getDesktop().browse(e.getURL().toURI());
}