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 参数将对此面板的引用传递给 JOptionPaneJOptionPane.showMessageDialog(Component, Object)