LEMBRANDO QUE AO EXECUTAR PELO NETBEANS, IMPRIME NORMALMENTE! MAS AO JOGAR NO APACHE DIRETO (.WAR) O BROWSER FICA CARREGANDO E NÃO IMPRIME NADA.
package bean;
import java.awt.*;
import java.util.Locale;
import java.text.*;
public class PrintSlip {
public static void main() {
int linha;
int tam;
Frame f = new Frame("Slip");
f.pack();
Toolkit tk = f.getToolkit();
PrintJob pj = tk.getPrintJob(f, "print1", null);
NumberFormat moeda = NumberFormat.getCurrencyInstance(new Locale("pt","BR"));
DecimalFormat dFormat = new DecimalFormat("##.##");
if (pj!=null) {
Graphics g = pj.getGraphics();
linha = 0;
g.drawString("CIA DA MUSICA", 0, linha);
linha = linha + 20;
g.drawString(" O R C A M E N T O", 0, linha);
linha = linha + 20;
g.drawString("DATA: " + String.valueOf(bean.Pedido.data).substring(8, 10) + "/" + String.valueOf(bean.Pedido.data).substring(5, 7) + "/" + String.valueOf(bean.Pedido.data).substring(0, 4), 0,linha + 10);
linha = linha + 20;
g.drawString("Pedido: " + bean.Pedido.getCodPed(), 0, linha);
linha = linha + 20;
g.drawString("Vendedor: " + bean.Usuario.nome.replace("�", "a").replace("�", "a").replace("�", "a").replace("�", "e").replace("�", "e").replace("�", "i").replace("�", "o").replace("�", "o").replace("�", "c").replace("�", "A").replace("�", "A").replace("�", "A").replace("�", "E").replace("�", "E").replace("�", "I").replace("�", "O").replace("�", "O").replace("�", "C"), 0, linha);
linha = linha + 20;
g.drawString("Cod", 0, linha);
g.drawString("Titulo", 60, linha);
linha = linha + 10;
g.drawString("Preco", 10, linha);
g.drawString("Desc", 120, linha);
g.drawString("Qtd", 180, linha);
g.drawString("Valor", 230,linha);
linha = linha + 10;
g.drawString("------------------------------------------------", 0,linha);
linha = linha + 10;
try{
bean.ItensPedido.rsItens.beforeFirst();
while (bean.ItensPedido.rsItens.next()) {
bean.Produto.cod = Long.parseLong(bean.ItensPedido.rsItens.getString("codprod"));
bean.Produto.consultaProduto();
tam = 0;
tam = bean.Produto.getTitulo().length();
if (tam > 40) {
tam = 40;
}
g.drawString(String.valueOf(bean.Produto.getCod()), 0, linha);
g.drawString(bean.Produto.getTitulo().substring(0, tam).replace("�", "a").replace("�", "a").replace("�", "a").replace("�", "e").replace("�", "e").replace("�", "i").replace("�", "o").replace("�", "o").replace("�", "c").replace("�", "A").replace("�", "A").replace("�", "A").replace("�", "E").replace("�", "E").replace("�", "I").replace("�", "O").replace("�", "O").replace("�", "C"), 60, linha);
g.drawString(String.valueOf(moeda.format(bean.ItensPedido.rsItens.getDouble("vlrprod"))), 10, linha + 10);
g.drawString(String.valueOf(dFormat.format(bean.ItensPedido.rsItens.getDouble("vlrdesc")))+"%", 120, linha + 10);
g.drawString(String.valueOf(bean.ItensPedido.rsItens.getString("qtde")), 180, linha + 10);
g.drawString(String.valueOf(moeda.format(bean.ItensPedido.rsItens.getDouble("vlritem"))), 230,linha + 10);
linha = linha + 30;
}
}
catch(Exception e){
e.printStackTrace();
}
g.drawString("------------------------------------------------", 0,linha);
linha = linha + 10;
g.drawString("TOTAL: " + moeda.format(bean.Pedido.getValor()), 0,linha);
linha = linha + 10;
g.drawString("FORMA DE PAGAMENTO", 0,linha);
linha = linha + 20;
bean.Pagamento.consultaPgtoPed();
try{
bean.Pagamento.rs.beforeFirst();
while (bean.Pagamento.rs.next()) {
g.drawString("------------------------", 0,linha);
linha = linha + 10;
g.drawString(bean.Pagamento.rs.getString(10).replace("�", "a").replace("�", "a").replace("�", "a").replace("�", "e").replace("�", "e").replace("�", "i").replace("�", "o").replace("�", "o").replace("�", "c").replace("�", "A").replace("�", "A").replace("�", "A").replace("�", "E").replace("�", "E").replace("�", "I").replace("�", "O").replace("�", "O").replace("�", "C"), 10, linha);
if (bean.Pagamento.rs.getString(12) != null){
g.drawString(bean.Pagamento.rs.getString(12).replace("�", "a").replace("�", "a").replace("�", "a").replace("�", "e").replace("�", "e").replace("�", "i").replace("�", "o").replace("�", "o").replace("�", "c").replace("�", "A").replace("�", "A").replace("�", "A").replace("�", "E").replace("�", "E").replace("�", "I").replace("�", "O").replace("�", "O").replace("�", "C"), 240, linha);
}
g.drawString("Parcelas: " + String.valueOf(bean.Pagamento.rs.getString("parcelas")) + " x ", 30, linha + 10);
g.drawString(String.valueOf(moeda.format(bean.Pagamento.rs.getDouble("valorparcela"))), 160,linha + 10);
linha = linha + 20;
}
}
catch(Exception e){
e.printStackTrace();
}
g.drawString("------------------------------------------------", 0,linha);
g.drawString("TOTAL: " + moeda.format(bean.Pedido.getValor()), 0,linha + 10);
linha = linha + 120;
g.drawString(" ", 0, linha);
g.dispose();
pj.end();
}
f.dispose();
}
}