Forum Pplware
Problemas a imprimir JTable em Java - Versão de Impressão

+- Forum Pplware (http://forum.pplware.com)
+-- Fórum: Mais Tech (/forumdisplay.php?fid=11)
+--- Fórum: Programação e Web (/forumdisplay.php?fid=16)
+--- Tópico: Problemas a imprimir JTable em Java (/showthread.php?tid=6901)



Problemas a imprimir JTable em Java - lmx - 19-08-2010 21:48

Boas..
estou a tentar imprimir uma tabela em java, que ja recebeu dois arrays de "objectos", neste momento recebe dois arrays de Strings, pois não percebo o porque de recber a area de impressão vazia.
o codigo é o seguinte:
try{
MessageFormat headerFormat = new MessageFormat("Page {0}");
MessageFormat footerFormat = new MessageFormat("- {0} -");
xtable.print(JTable.PrintMode.FIT_WIDTH, headerFormat, footerFormat);
}
catch(PrinterException ex){ JOptionPane.showMessageDialog(null,ex.toString(),"ERROR !!",0);
}
que se passará com esta ...coisa.

Obrigado pela atenção


RE: Problemas a imprimir JTable em Java - Ana - 19-08-2010 22:13

Estás a criar a tabela convenientemente? Vê aqui os exemplos: http://download.oracle.com/javase/tutorial/uiswing/components/table.html#simple

Por exemplo, uma tabela de objectos genéricos:
Código:
Object[][] data = {
    {"Kathy", "Smith",
     "Snowboarding", new Integer(5), new Boolean(false)},
    {"John", "Doe",
     "Rowing", new Integer(3), new Boolean(true)},
    {"Sue", "Black",
     "Knitting", new Integer(2), new Boolean(false)},
    {"Jane", "White",
     "Speed reading", new Integer(20), new Boolean(true)},
    {"Joe", "Brown",
     "Pool", new Integer(10), new Boolean(false)}
};

JTable table = new JTable(data, columnNames);

Estás a criar a Jtable usando um array bi-dimensional desta forma?

Outra coisa, se queres inserir um objecto na tabela, a classe desse objecto deve fazer overrride ao método toString(). Penso (não tenho a certeza, mas deve ser), que o método print() do JTable acederá ao toString() de cada objecto presente na tabela.

Experimenta e diz qualquer coisa.


RE: Problemas a imprimir JTable em Java - lmx - 19-08-2010 22:27

boas ...
estou a usar o tipico caso identico ao que tens mas em vez de ser generico(Object) estou a Usar Strings e mesmo assim prenchendo cada posição dos arrays, fiz agora um cast explicito para cada um e ...nada.
estou a returnar uma tabela de info de uma tabela(Entidade) de uma instancia SQLServer.
para cada row=(String)a.ToString.trim();
ou seja o cast nem é preciso, só se o problema vier ja de trás, mas estranho, pois se quiser printar uma tabela tipo a que tens ai, consigo na boa, que se passará.
é que eu não queria estar a definir interfaces plintable, printerjobs,pageformats,page.....somente para printar uma tabela.
E esse metodo jtable.print() ajudaria nisso, mas estou a ver que la irei que usar o getgrafics(), caso ninguém me possa ajudar Sad .


cmps


RE: Problemas a imprimir JTable em Java - Ana - 19-08-2010 22:31

Ajuda se colocares todo o código referente ao teu texto... é que assim é uma confusão. Smile


RE: Problemas a imprimir JTable em Java - lmx - 19-08-2010 22:36

boas..
o código que tenho é o de cima
tenho uma JTable xtable e queria imprimi-la.
desde ja o meu obrigado..

cmps


RE: Problemas a imprimir JTable em Java - Ana - 19-08-2010 22:40

Não me estás a perceber, coloca aqui o código de criação da Jtable, por exemplo.
Que IDE estás a usar? Já correste em modo debug para ver onde dá o erro/excepção?


RE: Problemas a imprimir JTable em Java - lmx - 19-08-2010 23:36

boas..
não tenho nenhum erro nem excepção, simplesmente a impressão que faço aparece sem a imagem da tabela com a info que esta contém.
xtable=new JTable(connectdb.info,connectdb.colNames);
uso o netbeans