Ole*_*sov 5 html java swing jlabel jtextfield
我正在尝试添加到JPanel的超链接.我想将它的文本设为蓝色(并加下划线),并且链接应该是可选的(复制它的某些部分).所以我尝试使用JLabel:是的,它允许像这样写一些[糟糕的]:
someLabel.setText("<html><font color=\"#0000ff\"><u>http://example.com</u></font></html>");
Run Code Online (Sandbox Code Playgroud)
但不幸的是,JLabel不允许选择任何文本.我也尝试使用JTextField,但相反,它不允许在其字段中使用HTML/CSS.
那么,是否存在任何方法来创建具有基本Swing组件的超链接(具有适当的指示),这将允许选择[并复制]其中的一部分,或者我应该尝试使用某些第三方组件?谢谢.
您可以以不可编辑的方式显示HTML内容JEditorPane.它是可选择的,您可以通过以下方式使链接起作用HyperlinkListener:
JEditorPane content = new JEditorPane();
content.setContentType("text/html");
content.setEditable(false);
content.setText("<html><a href=\"http://stackoverflow.com\">Link</a></html>"));
content.addHyperlinkListener(new HyperlinkListener() {
@Override
public void hyperlinkUpdate(HyperlinkEvent e) {
if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
try {
Desktop.getDesktop().browse(e.getURL().toURI());
} catch (Exception e1) {
Logger.getLogger(getClass()).error(
"Error opening link " + e.getURL(), e1);
}
}
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2114 次 |
| 最近记录: |