Uma das vantagens que voce tera agora, é a que nao precisa comprar um componente para isso! A nao ser que voce queira!!
Sim i iReports tem um previsualizador de relatorio, vc pode invocalo quando quizer!!
Pode tambem Mandar diretinho para a impressora!!
No seu caso, como voce quer improssoes rapidas, onde o programa envia dados direto para a porta da impressora, utilize esse codigo que vou colocar abaixo como exemplo!!
[code]
/**
- Impressão de Documento em Matricial
-
@author: Vito Eduardo Patriarcha
- Monolito Sistemas
- ASP
*/
import java.io.*;
import java.lang.StringBuffer;
public class Imprime {
public static void main( String[] args) throws IOException {
//Como pode ver, estou abrindo a porta da impressora do windows
//Para linux use /dev/lp0 ou lp1 ou lp2 conforme a instalacao da impressora
FileOutputStream outputFile = new FileOutputStream(“LPT1”);
PrintWriter out = new PrintWriter(outputFile);
//Defino aqui as variaveis que sao os codigos de controle da impressora
//Existem varios alem deste.
//Aki soh criei alguns que eu necessitaria
final String RESET = “\u001B” + “@”;
final String TAMANHO_DA_PAGINA = “\u001B” + “C” + (char)33;
final String TABELA_CARACTERES = “\u001B” + “t” + (char)0;
final String TABELA_CARACTERES_2 = “\u001B” + “(t” + (char)3 + (char)0 + (char)0 + (char)25 + (char)0;
final String FORM_FEED = “\f”;
final String NOVA_LINHA = “\n”;
final String ALIMENTA_PAGINA = “\u000C”;
final String TAMANHO_10 = “\u001B” + “!” + (char)0;
final String TAMANHO_12 = “\u001B” + “M”;
final String TAMANHO_15 = “\u001B” + “g”;
final String TAMANHO_56 = “\u001B” + “!” + (char)56;
final String ALINHA_DIREITA = “\u001B” + “a” + (char)0;
final String ALINHA_ESQUERDA = “\u001B” + “a” + (char)1;
final String ALINHA_CENTRO = “\u001B” + “a” + (char)2;
final String ALINHA_TOTAL = “\u001B” + “a” + (char)3;
final String COLUNA_A = “\u001B” + “$” + (char)1;
final String COLUNA_B = “\u001B” + “$” + (char)3;
final String COLUNA_C = “\u001B” + “$” + (char)5;
final String COLUNA_D = “\u001B” + “$” + (char)7;
final char vazio = ’ ';
StringBuffer buffer = new StringBuffer();
buffer.setLength(2370);
int novaLinha = 0;
for (int i = 0; i < 2370; i++)
buffer.setCharAt(i, vazio);
//a funcao
//INICIO DA LINHA 1
buffer = alinha(30, “Meu nome é:”, buffer);
buffer = alinha(30, “Vitor Eduardo Patriarcha”, buffer);
buffer = alinha(60, “ROLREL”, buffer);
//reseta as configuracoes da impressora e envia os primeiros caracteres de controle
out.print(RESET);
out.print(TAMANHO_DA_PAGINA);
out.print(TABELA_CARACTERES);
out.print(TABELA_CARACTERES_2);
out.print(TAMANHO_10);
out.print(buffer.substring(0, 29));
out.print(TAMANHO_56);
out.print(buffer.substring(30, 41));
out.print(TAMANHO_10);
out.print(buffer.substring(42, 59));
out.print(TAMANHO_56);
out.print(buffer.substring(60, 66));
out.print(ALIMENTA_PAGINA);
//reseta de novo a impressora para as futuras impressoes
out.print(RESET);
out.close();
outputFile.close();
}
public static StringBuffer alinha(int inicio, String str, StringBuffer buffer)
{
int indexChar = 0;
int tamanho = str.length();
char vetorChar[] = str.toCharArray();
for (int i = inicio; i < (inicio + tamanho); i++)
{
buffer.setCharAt(i, vetorChar[indexChar]);
indexChar++;
}
return buffer;
}
}[/code]
Este codigo acima, manda seus dados diretinho pra impressora. Da ate pra brincar com a impressora!! heheh
Espero que tenha ajudado!!