powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Печать в JAVA
7 сообщений из 7, страница 1 из 1
Печать в JAVA
    #32719632
Фотография peter6636
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день всем.
Есть таблица JTable,в ней находятся данные из СУБД,рядом с таблицей находится кнопочка под названием печать,при нажатии на нее,я хочу,чтобы у меня распечаталось содержимое таблицы JTable.Делаю так(класс Pechat реализует интерфейс Printable):
.....
PrinterJob job = PrinterJob.getPrinterJob();
PageFormat pageFormat=job.defaultPage();
pageFormat=job.pageDialog(pageFormat);
job.setPrintable(new Pechat(),pageFormat);
job.setPrintable(new Pechat());
if (job.printDialog())
{
try {
job.print();
}
......
Дальше в классе Pechat пишу
......
public int print (Graphics g, PageFormat f, int pageIndex)
{

switch (pageIndex)
{
case 0 :{
g.drawString(str_p.toString(),100,100);
return PAGE_EXISTS;
}
case 1 :
//.....
return PAGE_EXISTS;
default:{
return NO_SUCH_PAGE;
}
........
переменная str_p(типа StringBuffer) содержит в себе значения из таблицы.
Когда нажимаю печать оно печатает мне эту переменную,но не всю,а только один кусок остальное не влазит что ли.Как мне сделать так,чтобы при распечатке одного значения из str_p, осуществлялся переход на следующую строку и так далее.
Большое спасибо.
...
Рейтинг: 0 / 0
Печать в JAVA
    #32720561
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Придется все программировать самому: и переходы на следующую строку и переходы на следующую страницу :(
Смотри также Печать документов на принтере в Java
...
Рейтинг: 0 / 0
Печать в JAVA
    #32720682
Фотография peter6636
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо,но я там уже был.
А при помощи чего в Java отчеты делаются?
...
Рейтинг: 0 / 0
Печать в JAVA
    #32723108
jumperFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
peter6636Спасибо,но я там уже был.
А при помощи чего в Java отчеты делаются?
Попробуй
CrystalReports - дорогой, но умеет всё и удобный визуальный интерфейс для построений.

JasperReports - бесплатный, но трудней разобратся (с начала)
...
Рейтинг: 0 / 0
Печать в JAVA
    #32723322
Фотография peter6636
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо за помощь.Хотел бы еще спросить такое:
есть окошко1 в нем таблица1,в таблице находятся данные из СУБД,также на этом окошке есть кнопка,при нажатии на которую высвечивается окошко2 в котором есть таблица2,т.е. на экране уже 2 окна.
В методе public Object getValueAt(int parm1, int parm2) { System.out.println("str");} я поставил System.out.println и заметил,что когда я вожу мышкой по таблице1,в командной строке печатается "str",т.е. для каждой ячейки таблицы вызывается метод getValueAt(даже после того как таблица заполнена).При переходе на окошко2 также вызывается метод getValueAt и печатается "str".Глюк в том,что в таблице1 5 строк,а в таблице2,2 строки,и при переходе от окна2 к окну1,3 строки таблицы1 просто затираются.Как сделать так,что-бы после того как таблица заполнилась этот метод не вызывался,вообщем как отрубить какой-то обработчик события.
Простите за то что много написал.Заранее спасибо.
...
Рейтинг: 0 / 0
Печать в JAVA
    #32723927
jumperFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хм, я так понимаю что проблемы в
Код: plaintext
xxxListner
- давай код.
...
Рейтинг: 0 / 0
Печать в JAVA
    #32724029
Фотография peter6636
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В классе Opisanie находится кнопка при нажатии на которую вызывается класс Tablica (p.s. Tablica extends AbstractTableModel)
Вот код кнопки:
void jButton3_actionPerformed(ActionEvent e) {
jTable1.setModel(new Tablica(1,null,this,null));
}
Для каждой таблицы у меня вызывается new Tablica() c разными параметрами
А вот код класса Tablica:
........
public String[] columnName={"Номер","Неполадка","Комната","Статус","Мастер","Принята","Департамент","Выполнена"};
......
public Tablica(int peredacha,Vipolneno obj,Opisanie obj2,Ne_vip obj_n){
try{
this.obj=obj;
this.obj2=obj2;
this.obj_n=obj_n;
Class.forName(driver2);
conect=DriverManager.getConnection("jdbc:odbc:Min_transport","sa","");
switch(par1){
case 1:{
kola2=stat2.executeQuery();
exec_fr();
break;
}
case 2:{
stat3.setString(1,master);
stat3.setBoolean(2,true);
kola=stat3.executeQuery();
exec_fr2();
}

case 3:{
stat3.setString(1,master);
stat3.setBoolean(2,false);
kola3=stat3.executeQuery();
k_strok=kola3.getRow();
exec_fr3();
exec_fr3();
}
break;
}
default: System.out.println("----");
}
}catch(SQLException d){
}
}
public void exec_fr3(){
rows_m=null;
rows_m3=null;
rows_m2=null;
try{
metadata =kola3.getMetaData();
colonki=metadata.getColumnCount();
rows_m2=new Vector(); while(kola3.next()){
Vector newRow = new Vector();
for (int i = 1; i <= metadata.getColumnCount(); i++){
Object st=kola3.getObject(i);
newRow.addElement(st);
}
rows_m2.addElement(newRow);
stroki=kola3.getRow();
}
kola3.close();
stat3.close();
stat5.close();
conect.close();
}catch(SQLException e){
e.toString();
}
}
public int getColumnCount() {
return columnName.length;
}

public Object getValueAt(int parm1, int parm2) {
if(!(this.obj2==null)){
row=(Vector)rows_m3.elementAt(parm1);
this.obj=null;
this.obj_n=null;
return row.elementAt(parm2);

}
if(!(this.obj==null)){
row_vip=(Vector)rows_m.elementAt(parm1);
this.obj_n=null;
this.obj2=null;
return row_vip.elementAt(parm2);
}
if(!(rows_m2==null)){
row_ne_vip=(Vector)rows_m2.elementAt(parm1);
this.obj=null;
this.obj2=null;
return row_ne_vip.elementAt(parm2);
}
return null;
}


public int getRowCount() {

return rows_m2.size();
}

public String getColumnName(int col){
return columnName[col];
}

public boolean isCellEditable(int row,int column){
}
public Class getColumnClass(int col){
return columnClasses[col];
}
public void setValueAt(Object value, int row, int column){
row2.setElementAt(value,column);
}
}
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Печать в JAVA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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