Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / JasperViewer / 7 сообщений из 7, страница 1 из 1
21.07.2012, 16:26:51
    #37887946
ditban
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JasperViewer
Вопрос следующий:
как можно написать свой обработчик нажатия кнопки "Сохранить" в JasperViewer'e?
...
Рейтинг: 0 / 0
21.07.2012, 16:51:16
    #37887953
ivanov-void
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JasperViewer
ditban,

Сохранить в какой- то определенный формат вы имеете в виду?
...
Рейтинг: 0 / 0
21.07.2012, 17:11:06
    #37887959
ditban
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JasperViewer
ivanov-void,

просто как сохранить в какой-то формат я знаю. Мне нужно переопределить действие именно этой кнопки, то есть сохранить в определенном формате и НЕ ТОЛЬКО.
...
Рейтинг: 0 / 0
23.07.2012, 12:57:02
    #37889047
sanBez
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JasperViewer
ditban,

Смотреть надо в
net.sf.jasperreports.view.JRViewer

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
	private void initComponents() {
		java.awt.GridBagConstraints gridBagConstraints;

		tlbToolBar = new javax.swing.JPanel();
		btnSave = new javax.swing.JButton();
       ....

       		btnSave.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent evt) {
				btnSaveActionPerformed(evt);
			}
		});

      ...
	void btnSaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSaveActionPerformed
		// Add your handling code here:

		JFileChooser fileChooser = new JFileChooser();
		fileChooser.setLocale(this.getLocale());
      ...


ну и тут править и получить собственный Jasper :)

Или наваять несколько классов. В одном из них наследоваться от JRViewer и подпилить под себя типа:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
public class JasperViewPanel extends JRViewer{

	public JasperViewPanel() {
		this(null);
	}
	
	public JasperViewPanel(JasperPrint jrPrint) {
		super(jrPrint);
		tlbToolBar.setVisible(false); //прячем стандартный тулбар
		lblStatus.setVisible(false); //прячем статусбар
                ... 
                // и рисуй свой тулбар какой хочешь
                // или вставить это (JRViewPanel) в свое какое-нить окошечко
                // но тут поработать придется в обоих случаях
	}


Могу и обмануть, не спец в свингах. А копать здесь где-то
...
Рейтинг: 0 / 0
25.07.2012, 08:58:02
    #37891563
ditban
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JasperViewer
sanBez,

спасибо, буду копать)
...
Рейтинг: 0 / 0
25.07.2012, 11:16:09
    #37891740
ditban
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JasperViewer
sanBez,

в первом варианте откуда берется initComponents() ?я так понимаю, надо переписать класс JasperViewer в любом случае и ему прописать свой тулбар? В чем принципиальная разница?
...
Рейтинг: 0 / 0
25.07.2012, 13:38:10
    #37892119
sanBez
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JasperViewer
ditbansanBez,
я так понимаю, надо переписать класс JasperViewer в любом случае и ему прописать свой тулбар? В чем принципиальная разница?
Принципиальная разница в подходе:

Вариант 1. Корячим "родные" исходники Jasper, подгоняем под себя. Во-первых не знаю насколько это правомерно с точки зрения закона. Во вторых при апдейте на следующую версию (а они их клепают раз в три месяца, а то и чаще) надо будет опять встраивать свои правки в их код.

Вариант 2. Написав свой собственный вьюер (используя "чистый" JRViewer как элемент своего класса) вы получаете более легкое в модификации и поддержке средство для просмотра JasperPrint объекта. На которое можете навертеть дополнительную функциональность для своих целей (например кидать отчет по почте). И под свои стандарты интерфейса подогнать. И использовать в нескольких проектах.... Отлично впишется в свинговое приложение
В качестве бонуса можно реализовать вызов просмотрщика, например, не из контекста приложения, а вообще как самостоятельный модуль.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / JasperViewer / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]