2016-02-07 3 views
0

Мне нужно создать список пользователей в результате запроса в Twitter, как в Google. Я хотел бы, чтобы представить результаты следующим образом:Как добавить динамически JPanels в JFrame?

  • изображения пользователя - имя пользователя - пользователь секс - местоположение пользователя
  • немного фрагмента из твитов, которые соответствуют запросу (при необходимости)

С тех пор я использую JTextArea, к которому я добавляю имя, пол, местоположение пользователя и некоторые твиты, соответствующие запросу (если необходимо), но теперь я хотел бы чтобы показать также образ профиля, и я думаю, что было бы необходимо поместить всю информацию о каждом пользователе в JPanel, но мне нужно приложить динамически новые JPanels к тому же JScrollPan и я не знаю, как это сделать.

+1

Я не думаю, что вы должны вручную добавить 'JPanel' к вашему парню, наверное, лучше было бы работать с' JList' по создавая пользовательский «ListCellRenderer», который описывает, как должны отображаться элементы в списке. – StepTNT

+0

да, но если создать список jpanels, то панели не отображаются ... – StackUser

+0

@StepTNT, я смог использовать JList только для String – StackUser

ответ

1

Используйте JEditorPane с содержимым HTML. Например, приведенный ниже код добавит в ваш образ:

JEditorPane pane = new JEditorPane(); 
pane.setContentType("text/html"); 
String urlForImage = "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"; 
pane.setText("<html><img src=\"" + urlForImage + "\" /></html>"); 
myJframe.add(pane); 
+0

Ваше решение, похоже, работает и с стилями CSS! Возможно, я проголосую за него как лучший ответ в ближайшее время – StackUser

+0

* «Поддерживает ли он стили?» * Некоторые стили, но не много. BTW - будет более сложно получить панель редактора для поддержки изображения «в памяти». ;) –

+0

Спасибо! : D Если у вас возникли проблемы с поддержкой образа в памяти, попробуйте сохранить изображение в файл, используя javax.swing.imageio.ImageIO.write (RenderedImage img, String format, File output), а затем загрузите его с помощью

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