Java GUI 对话框超链接
Java GUI Dialog box hyperlink
正在为我的 class 做一个项目。我正在尝试将可点击的 hyperlink 添加到弹出对话框(在 java swing gui 中),用户可以单击该对话框将他们带到网页。目前,我发现弹出框 hyperlinks 可以自行工作,但没有任何东西可以用来附加到我的对话框。有没有办法做这样的事情?我正在使用二叉搜索树来执行数据,是否可以将其添加到节点、toString 和 addNode 方法以使用可点击的 hyperlink 将其显示在对话框中?我正在使用的代码如下:
private void HydrogenActionPerformed(java.awt.event.ActionEvent evt) {
JOptionPane.showMessageDialog( null, (new1.theTree.findNode(1)
+
JPanel p = new JPanel();
JLabel link = new JLabel("http://en.wikipedia.org/wiki/"+"Hydrogen");
link.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
link.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
if (e.getClickCount() > 0)
{
if (Desktop.isDesktopSupported())
{
Desktop desktop = Desktop.getDesktop();
try
{
String element = "Hydrogen";
URI uri = new URI("http://en.wikipedia.org/wiki/"+element);
desktop.browse(uri);
}
catch (IOException ex)
{
ex.printStackTrace();
}
catch (URISyntaxException ex)
{
ex.printStackTrace();
}
}
}
}
});
p.add(link);
getContentPane().add(BorderLayout.NORTH, p);));
它不工作,我不知道如何让它工作。我愿意接受任何想法。
谢谢
将 new1.theTree.findNode(1)
的结果放入 JLabel
将此标签和您的超链接标签添加到同一个 JPanel
,按您想要的方式布局
通过其 Object
参数将对此面板的引用传递给 JOptionPane
,JOptionPane.showMessageDialog(Component, Object)
正在为我的 class 做一个项目。我正在尝试将可点击的 hyperlink 添加到弹出对话框(在 java swing gui 中),用户可以单击该对话框将他们带到网页。目前,我发现弹出框 hyperlinks 可以自行工作,但没有任何东西可以用来附加到我的对话框。有没有办法做这样的事情?我正在使用二叉搜索树来执行数据,是否可以将其添加到节点、toString 和 addNode 方法以使用可点击的 hyperlink 将其显示在对话框中?我正在使用的代码如下:
private void HydrogenActionPerformed(java.awt.event.ActionEvent evt) {
JOptionPane.showMessageDialog( null, (new1.theTree.findNode(1)
+
JPanel p = new JPanel();
JLabel link = new JLabel("http://en.wikipedia.org/wiki/"+"Hydrogen");
link.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
link.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
if (e.getClickCount() > 0)
{
if (Desktop.isDesktopSupported())
{
Desktop desktop = Desktop.getDesktop();
try
{
String element = "Hydrogen";
URI uri = new URI("http://en.wikipedia.org/wiki/"+element);
desktop.browse(uri);
}
catch (IOException ex)
{
ex.printStackTrace();
}
catch (URISyntaxException ex)
{
ex.printStackTrace();
}
}
}
}
});
p.add(link); getContentPane().add(BorderLayout.NORTH, p);));
它不工作,我不知道如何让它工作。我愿意接受任何想法。 谢谢
将 new1.theTree.findNode(1)
的结果放入 JLabel
将此标签和您的超链接标签添加到同一个 JPanel
,按您想要的方式布局
通过其 Object
参数将对此面板的引用传递给 JOptionPane
,JOptionPane.showMessageDialog(Component, Object)