2015-04-22 8 views
0

Работа над проектом для моего класса. Я пытаюсь добавить интерактивную гиперссылку в диалоговое окно pop (в java swing gui), которое пользователь может щелкнуть, чтобы перенести их на веб-страницу. В настоящее время я нашел всплывающие окна гиперссылок, которые работают сами по себе, но ничего, что я могу использовать для прикрепления к моему диалоговому окну. Есть ли способ сделать такое? Я использую двоичное дерево поиска для выполнения данных, можно ли добавить его к узлу, toString и методам addNode, чтобы открыть его в диалоговом окне с помощью интерактивной гиперссылки? Код, с которым я работаю, приведен ниже:Java GUI Диалоговое окно гиперссылки

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);));

Это не работает, и я затрудняюсь заставить его работать. Я открыт для любых идей. Спасибо.

+0

Параметр Object для JOptionPane.showMesageDialog (Component, Object) может принимать компонент, который будет отображаться в диалоговом окне. Добавьте все, что хотите показать компоненту, и передайте эту ссылку на JOptionPane – MadProgrammer

ответ

1

Поместите результаты new1.theTree.findNode(1) в JLabel

Добавить эту метку и ваш гиперссылкой ярлык к тому же JPanel, выложенный однако вы хотите

Передайте ссылку на эту панель в JOptionPane с помощью его параметра Object , JOptionPane.showMessageDialog(Component, Object)

+0

Итак, теперь у меня есть возможность распечатать всю информацию. Просто нужно выяснить, как сделать его интерактивным. –

+0

Управляется, чтобы получить всю информацию для печати, и теперь мне нужно выяснить, почему \ n не помогает форматировать строку, которую она печатает. –

+0

Легче сделать серию 'JLabel' и разложить их на отдельной« JPanel », но это я. Вы также можете использовать '' ... – MadProgrammer

 Смежные вопросы

  • Нет связанных вопросов^_^