JPane text html z linkami

0

Mam jPane i w nim dodaje tekst , coś takiego:

jLabel3.setText("<html><center>Tekscik o czarownicy<br></html>/<center>");

jesli dodam tag linka to on sie podswietli na niebiesko, al enie dziala tak jak powienien, czemu java nie reaguje, co trzeba dodac ?

0

Niestety to nie zadziała, a to dlatego że obiekt JLabel nie umie otworzyć tego linka.
Otwieranie linków można zrealizować w JEditorPane po dodaniu odpowiedniej obsługi zdarzenia.

Ale tak się składa że sam kiedyś chciałem aby JLabel otwierał link w zainstalowanej w systemie przeglądarce internetowej. Wystarczy abyś dodał obsługę zdażenia do JLabel i uruchomił adres url w systemowej przeglądarce. (Jest tu mały trik, zwykłe actionPerformed() reaguje na podwójne kliknięcie jeżli chcesz aby reagowało na pojedyńcze kliknięcie to bedziesz musiał obsłużyć zdarzenie myszki, dobrze by też było gdybyś zmienił kursor myszy ze strzałki na 'rączke')

Do uruchomienia przeglądarki wykorzystaj jedną z klas które znalazłem w internecie:
(szukałem w google: open url in browser java)

http://www.centerkey.com/java/browser/
http://ostermiller.org/utils/Browser.html
http://www.rgagnon.com/javadetails/java-0071.html

0

chwile poszukałem i znalazłem jeszcze jeden sposób na odpalenie przeglądarki internetowej z javy.
Od JDK 1.6 masz:

        java.awt.Desktop dsk = Desktop.getDesktop();
        try {
                dsk.browse(new URI("http://www.rgagnon.com"));
        } catch (IOException ex) {
            ex.printStackTrace();
        }
         catch (URISyntaxException ex) {
            ex.printStackTrace();
        }

aby nie wywalało wyjątków musisz używać pełnego adresu (tzn. http://www. ...)

0

A no tak , trzeba całą ścieżkę, klasa się przydała, dzieki za konkretną odpowiedz :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1