2013-09-08 5 views
1

Я немного новичок в программировании, и я пытаюсь все изучить самостоятельно. В настоящее время я работаю над проектом, чтобы отсортировать все мои счета и другие вещи. Мне удалось обновить счета в виде файлов PDF на FTP-сервере. Я показываю все исходящие деньги в JTable, и теперь я хотел бы увидеть миниатюру PDF в правой части моего графического интерфейса swing после того, как я выбрал строку таблицы.Java Swing - PDF Thumbnail Viewer

Вот что я имел в виду:

  1. Получить выбранную строку через clickListener, прочитать номер счета, который совпадает с номером, файл называется на FTP (например, номер: " 20130012 "/ Файл:" 20130012.pdf "). Скачайте файл с FTP и сохраните его где-нибудь временно ?!
  2. и теперь мне нужно отобразить pdf в моем макете сетки, но как =)? Если это изображение, я могу использовать значок изображения справа? Но как мне получить эффект с помощью pdf?

Как только я нажму на миниатюру, я бы хотел открыть PDF-ридер, чтобы увидеть фактический файл.

Извините, если это меньше информации ... просто дайте мне знать, если вам нужна дополнительная информация. я действительно ценю несколько ответов =)

Благодарности

ответ

2

Используйте ListSelectionListener, чтобы определить, какая JTable строка была нажата и извлечь его файл PDF. Если время ожидания выборки является проблемой, используйте SwingWorker. Как только вы получите create a thumbnail изображение каждой страницы в PDF выбранной строки, вы можете отобразить их в JList, как показано на рисунке here. Отобразите выбранную страницу в полном размере в вашей реализации ListSelectionListener.

+0

Хорошо, что работало до сих пор, но теперь я показываю изображение pdf прямо рядом со столом. Но когда я пытаюсь щелкнуть следующий законопроект, я получу исключение fileNotFoundException, потому что файл каким-то образом используется. Я имею в виду, что я показываю его в gui, и когда я пытаюсь загрузить следующее изображение и перезаписать старый, я получаю это исключение. Мне нужно создать временный файл или что-то в этом роде? – GeoGecco

+0

Не уверен; 'File # createTempFile()', который абстрагирует изменения ОС хоста, может быть правильным выбором. – trashgod

+1

спасибо alot =). Теперь работает. Я загружаю PDF-файл, создаю временный файл и копирую PDF-файл в файл temp. вы можете просмотреть pdf-файл, используя временный файл. еще раз спасибо – GeoGecco