Вызов метода Java из ссылки HTML - PullRequest
0 голосов
/ 13 марта 2011

В настоящее время я создаю клиент Twitter на Java с использованием API Twitter4J.Чтобы создать «временную шкалу» Twitter, я в настоящее время извлекаю данные из Twitter, такие как изображения профилей, твиты и имена пользователей, а затем отображаю их в JTextPane, отформатированном с использованием HTML.Пример кода ниже:

StringBuilder out = new StringBuilder();

       try {
           List<Status> statuses = HandleEvents.instance().twitter.getHomeTimeline();

           out.append("<html>");

           for (Status status : statuses)
           {
               out.append("<img src=\"").append(status.getUser().getProfileImageURL())
                       .append("\" width=30 height=30><b>").append(status.getUser().getName())
                       .append(":</b> ").append(status.getText())
                       .append("<br><br>");
           }

           out.append("</html>");

           tweetsTextPane.setText(out.toString());

Отображает временную шкалу из 20 твитов, разделенных двумя переносами строк.Под каждым твитом я хотел бы разместить простую гиперссылку под названием «Retweet», которая вызывает один из моих методов Java - HandleEvents.instance (). Twitter.retweetStatus (status.getId ())

Как быЯ собирался сделать это?Можно ли сделать вызов непосредственно между тегами, или мне нужно сделать вызов с использованием JavaScript?

Буду признателен за любую помощь.Большое спасибо.

1 Ответ

0 голосов
/ 13 марта 2011

Вам не нужна гиперссылка? Поскольку это приложение Swing, вы можете просто добавить JLabel, который только выглядит как гиперссылка (но если вы приложите немного усилий, он также может вести себя как один). Добавьте прослушиватель для щелчков мышью на этом JLabel, и вы можете подключить туда свой текущий обработчик.

С другой стороны, если вам нужны настоящие HTML-ссылки, вы можете реализовать собственный HyperlinkListener .

Вот несколько примеров:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...