Печать Jtable как таблицы в файл - PullRequest
0 голосов
/ 09 февраля 2011

Я занимался созданием приложения для Финансового менеджмента. Поэтому я пытаюсь получить окончательную работу, получая резюме.Эта сводная страница состоит из разных таблиц, за которыми следуют две метки и текстовое поле.Так что было бы здорово, если бы кто-нибудь смог мне помочь с этим.

Все, что мне нужно, - это напечатать заполненный Jtable в файл как есть.

Я не специалист по Java иЯ использую Netbeans для кодирования графического интерфейса.

Кроме того, что касается файлового формата, я думаю, что он должен .rtf для поддержки строк и т. Д. Надеюсь, что не будет трудностей при создании файла RTF из этого.Я не особо разбираюсь в формате .rtf. Мне просто нужен формат, который может поддерживать столбцы и таблицы.

Еще одна вещь, которую я хотел бы добавить, - это то, что я хочу создавать квитанции из пользовательских шаблонов. Я думал об использовании.RTF файлы в качестве шаблонов и добавление необходимых значений в файл.Но после редактирования файла в Java, он не выглядит нормально.Было бы лучше, если бы кто-то мог предложить мне подходящий формат

Редактировать:

Мне удалось получить готовый код для печати jtable в pdf, и он работает хорошо и хорошо.Код выглядит следующим образом:

Document document = new Document(PageSize.A4); try { PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("C:\Users\arun\Desktop\jTable.pdf"));</p> <pre><code> document.open(); PdfContentByte cb = writer.getDirectContent(); cb.saveState(); Graphics2D g2 = cb.createGraphicsShapes(500, 500); Shape oldClip = g2.getClip(); g2.clipRect(0,0, 500, 500); table.print(g2); g2.setClip(oldClip); g2.dispose(); cb.restoreState(); JOptionPane.showMessageDialog(null,"done","done",JOptionPane.INFORMATION_MESSAGE); } catch (Exception e) { System.err.println(e.getMessage()); } document.close();

Но таблица печатается близко к левой стороне страницы. Я хотел оставить левое поле иТакже должен быть напечатан заголовок каждого столбца таблицы.

Я пробовал document.setmargins (). Но он не работает.Что касается заголовков столбца, я понятия не имею.

Ответы [ 2 ]

1 голос
/ 09 февраля 2011

Вы можете извлечь данные, извлекая TableModel из JTable через jTable.getModel(), перебирать содержимое, используя model.getRowCount(), model.getColumnCount() и model.getValueAt(row, col), и, наконец, печатать значения в обычный FileWriter если вам не нужны сторонние инструменты.

См. JTable , TableModel , FileWriter , BufferedWriter в документах API.

1 голос
/ 09 февраля 2011
  1. Сторонний инструмент, такой как iText, будет полезен при создании файлов RTF. Особенно, если вы хотите создавать таблицы.
  2. Я бы предложил записывать данные из классов, которые содержат вашу модель, а не пытаться извлечь их из GUI (JTable).
  3. Я настоятельно рекомендую не использовать GUI Builder для генерации приложений, когда вы еще не знакомы с Swing. (Даже тогда я рекомендую против этого, но не так сильно).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...