Como imprimir um página?  XML
Índice dos Fóruns » Interface Gráfica
Autor Mensagem
arthurthiago
Debugger
[Avatar]

Membro desde: 06/02/2007 18:17:34
Mensagens: 72
Offline

Como eu faço para imprimir uma página pelo java?

Eu tava querendo imprimir uma página que contivesse o que eu passasse tipo "String "+ nome + "\n Recibo:"...
coisas do tipo que eu posso adicionar variaveis..

alguem sabe como?
Ironlynx
Moderador
[Avatar]

Membro desde: 02/05/2003 01:06:41
Mensagens: 3690
Localização: The other side of the screen
Offline

Use um PrinterJob!
http://java.sun.com/j2se/1.4.2/docs/api/java/awt/print/PrinterJob.html

Exemplo:
http://www.java2s.com/Code/Java/2D-Graphics-GUI/PrintinJava2PrinterJob.htm

Não basta persistir...tem que prevalecer!
Ironlynx
Anarquista de Sistemas
http://osereojava.blogspot.com/
[WWW]
arthurthiago
Debugger
[Avatar]

Membro desde: 06/02/2007 18:17:34
Mensagens: 72
Offline

Mas entao... eu tow usando essa classe pra imprimir:



mas quando imprimi ele come a metade de cima das letras... e não consigo imprimir mais de uma linha quando eu passo um String grande...

Sabe o que pode ser?
arthurthiago
Debugger
[Avatar]

Membro desde: 06/02/2007 18:17:34
Mensagens: 72
Offline

ninguem sabe oq pode ser? essa impressão tá cortando a metade de cima das letras e não imprime mais de uma linha!
arthurthiago
Debugger
[Avatar]

Membro desde: 06/02/2007 18:17:34
Mensagens: 72
Offline

Po galera... não consegui até agora consertar isso.. nínguem tem outro exemplo de classe de impressão onde eu passe um texto e imprima ele?

Se não for pedir muito queria saber também como é o melhor jeito de passar esse texto.. como somente uma String?
Jucely
Smalltalk
[Avatar]

Membro desde: 04/03/2007 15:30:56
Mensagens: 2
Offline

Artur...

Eu tambem estava com um problema parecido com esse, para resolver apenas aumentei o tamanho da ImageableArea no objeto Pager.

Espero ter ajudado.
Juju
arthurthiago
Debugger
[Avatar]

Membro desde: 06/02/2007 18:17:34
Mensagens: 72
Offline

Jucely,

Será que você pode postar o seu código? Porque no meu eu não uso esse ImageableArea...

Pra eu também ver um código massa pra poder aprender como faz.. vlw!
arthurthiago
Debugger
[Avatar]

Membro desde: 06/02/2007 18:17:34
Mensagens: 72
Offline

Este é o código que eu estou usando, tentei fazer um objeto Paper e aumentar o ImageableArea, mas continua como antes, cortando uma parte das letras...



Alguém tem alguma idéia?
Ironlynx
Moderador
[Avatar]

Membro desde: 02/05/2003 01:06:41
Mensagens: 3690
Localização: The other side of the screen
Offline

arthurthiago, eu não mexo com a print API há uns 2 anos, mas na época eu usei essecódigo aqui para aprender do livro "Programando com o Visual Editor" de Ivan Mecenas (sim o código é porco com sql no meio e o diabo, mas dá para quebrar o galho):

Na época, quando eu tive problemas com as colunas, eu mexi no drawString
Espero q lhe ajude!

Não basta persistir...tem que prevalecer!
Ironlynx
Anarquista de Sistemas
http://osereojava.blogspot.com/
[WWW]
chrisandrade07
HelloWorld
[Avatar]

Membro desde: 15/02/2007 11:49:11
Mensagens: 11
Localização: Piedade-SP
Offline

Testei o codigo q vc postou e realmente ta cortando as letras.
Corrigi mudando o tamanho do "paper":

paper.setImageableArea(-10,-10,500,500);
[MSN]
arthurthiago
Debugger
[Avatar]

Membro desde: 06/02/2007 18:17:34
Mensagens: 72
Offline

Valeu pela ajuda ai galera!

Mas estou com outro problema ainda: Como que eu posso fazer para imprimir uma String grande? Porque quando eu passo uma String maior que o papel, essa String não passa para a linha de baixo automaticamente...

alguém tem alguma idéia?
arthurthiago
Debugger
[Avatar]

Membro desde: 06/02/2007 18:17:34
Mensagens: 72
Offline

Galera... é o seguinte, vou especificar totalmente o meu problema:

Tenho o seguinte programa onde eu gerencio dados por uma tabela. Todos os dados são pegos de um banco e atualizados em tempo real quando o programa está sendo executado:



Pois então, não sei como eu posso imprimir essa tabela numa página. Gostaria de imprimir só os três campos centrais da tabela de cada dado.

Meu código de impressão está funcionando maneiro quando se passa uma String. A não ser que ele não pula para a linha de baixa quando o String é muito grande:

Mas o que eu realmente queria era imprimir uma tabela com bordas e talz com os dados que estão na tela no momento.

Se alguém tiver alguma sugestão eu agradeço!

Espero a resposta! vlw!


chrisandrade07
HelloWorld
[Avatar]

Membro desde: 15/02/2007 11:49:11
Mensagens: 11
Localização: Piedade-SP
Offline

As suas duvidas são as mesmas q estou tendo.
Só acho estranho o esquema de pular de linha. Quando imprimo na tela sai do jeito q eu quero, mas na hora de imprimir sai tudo na mesma linha.
Também estou procurando a mesma resposta, se possível com a opção de visualizar impressão.
[MSN]
arthurthiago
Debugger
[Avatar]

Membro desde: 06/02/2007 18:17:34
Mensagens: 72
Offline

Bom galera,

Consegui resolver o problema de imprimir a tabela. existe um método print na própria classe JTable:


(by aterrapinto)

Mas só que a fonte tá saindo muito pequena e não to conseguindo aumentá-la...

se alguém souber tamos ai pra aprender! vlw
chrisandrade07
HelloWorld
[Avatar]

Membro desde: 15/02/2007 11:49:11
Mensagens: 11
Localização: Piedade-SP
Offline

Olá,
Estou usando o JTextArea ao invés do JTable, mas algumas configurações são parecidas. Para alterar a fonte é a mesma coisa do JTextArea:

JTextArea texto = new JTextArea();
texto.setFont(new Font("DialogInput", Font.PLAIN, 9));

Realmente para imprimir textos com quebras de linha e tabulação eu só to conseguindo jogando a string no JTextArea e para imprimir usando o comando: "JTextArea.print();", só q estou usando a opção com atributos para configurar a impressora e a página.
[MSN]
 
Índice dos Fóruns » Interface Gráfica
Ir para:   
Powered by JForum 2.1.8 © JForum Team