|
|
|
Как сохранить chart из диалога, не показывая его
|
|||
|---|---|---|---|
|
#18+
Задачка такая - на компоненте класса JDialog создается объект JFreeChart, полученное изображение потом надо сохранить по указанному пути в виде jpeg-файла. Путь решения уже давно накатанный, однаок есть серьезная проблема - показывать этот диалог совсем нежелательно, т.е. картинка должна создаться, а потом должна быть сохранена, и все это "вслепую" - диалог не должен показываться. Сделал примерно так: Код: java 1. 2. 3. 4. 5. 6. Если бы диалог бы видимым и эта процедура выполнялась бы по нажатию некой кнопки на нем, то в файле бы без проблем сохранился чарт. Однако в этом случае сохраняется только пустая панель ну и кнопки внизу. Подскажите, пожалуйста, пути решения, они наверняка существуют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2013, 13:34:12 |
|
||
|
Как сохранить chart из диалога, не показывая его
|
|||
|---|---|---|---|
|
#18+
Наверняка вам надо посмотреть код внутри NewTimeDlg и вызвать генерацию чарта непосредственно, без участия класса диалога. Или нажать кнопку "программно". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2013, 17:30:06 |
|
||
|
Как сохранить chart из диалога, не показывая его
|
|||
|---|---|---|---|
|
#18+
Проанализировать код и отделить генерацию графика JFreeChart от диалога Swing. Из-за того что у вас нарушены coupling и cohesion, вы не можете получить график, без диалога. А это более чем странно. Покажите код использования JFreeChart. Вам нужно его вынести в отдельный метод, где Graphics (и опционально размер) будет параметром. Этот метод не должен зависеть от Swing. Тогда вы сможете вызывать это метод, подсовывая ему BufferedImage.getGraphics(). А затем сохранять BufferedImage в файл через ImageIO. Т.е. задача решается тупо рефакторингом вашего кода. Возможны, конечно, и другие решения с отрисовкой всего диалога в свой BufferedImage. Но это уже в форум по проктологии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2013, 13:16:23 |
|
||
|
Как сохранить chart из диалога, не показывая его
|
|||
|---|---|---|---|
|
#18+
Благодарю за ответы, я только сегодня заглянул в тему, но еще вчера понял, что задал идиотский вопрос. Копия диалога целиком, со всеми его управляющими элементами, мне совсем не нужна, достаточно создать чарт по заданному набору данных, а для него все в той же библиотеке есть замечательный метод saveChartAsJPEG. Т.е. решение в общем-то тривиальное, просто сразу как-то не задумался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2013, 17:39:17 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=209&tid=2128568]: |
0ms |
get settings: |
14ms |
get forum list: |
32ms |
check forum access: |
8ms |
check topic access: |
8ms |
track hit: |
301ms |
get topic data: |
17ms |
get forum data: |
5ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
| others: | 293ms |
| total: | 747ms |

| 0 / 0 |
