Como chamar a caixa de dialogo de impressão do windows?

4 respostas
evertonsilvagomesjav

Galera bom dia a todos!

Bom estou com o seguinte método que lista as impressoras disponiveis na máquina, porém eu nao consigo selecionar qual eu quero imprimir pois elas vem em forma de Strings.
PrintService [] services = PrintServiceLookup.lookupPrintServices(null, null);

    for(PrintService impressoras : services) {
          jTextAreaImpressoras.append(impressoras.getName() +"\n");
        
    }

Mas minha pergunta é como chamar mesmo a Caixa de dialogo de impressão do windows?

4 Respostas

renamed
Do windows nao sei hehe mas sei que java tem uma padrao...
public class Teste  {

	public static void main(String[] arg) {
		PrinterJob pjob = PrinterJob.getPrinterJob();
		PageFormat pf = pjob.defaultPage();

		try {
			if (pjob.printDialog()) {
				pjob.print();
			}
		} catch (PrinterException e) {
			System.err.println("Erro: " + e.getMessage());
		}
	}

}

ok?
[url]http://www.exampledepot.com/egs/java.awt.print/PrintDialog.html[/url]

renamed

Esse e melhor…
http://www.apl.jhu.edu/~hall/java/Swing-Tutorial/Swing-Tutorial-Printing.html

evertonsilvagomesjav

tipo sei que pedir d mais…mas teria como alguem me da um auxilio no codigo pq nao quero so copiar e colar o codigo, obrigado.

evertonsilvagomesjav

Galera como eu faço pra setar a impressora que e aberta no jDialog de impressão do java?

tenho o seguinte codigo de impressão:

String texto = jTextArea.getText();

      String impressora = "//10.0.16.5/Aficio_3035";
   

       byte[] bytes = texto.getBytes();

       try {

           FileOutputStream porta = new FileOutputStream(impressora); // aqui está a impressora passada, onde eu quero colocar a impressão selecionada no jDialog
            try {
                porta.write(bytes);
                porta.close();
                JOptionPane.showMessageDialog(null,"Arquivo impresso.: \n" +"Impressora: Aficio_3035");
            }catch (IOException ex) {
               Logger.getLogger(FramePrincipal.class.getName()).log(Level.SEVERE, null, ex);
           }
        } catch (FileNotFoundException ex) {
            Logger.getLogger(FramePrincipal.class.getName()).log(Level.SEVERE, null, ex);
       }

Aqui está o jDialog de impressão:

public class Print  {


public void caixaImpressao(){

    PrinterJob pjob = PrinterJob.getPrinterJob();
	        try {
	            if (pjob.printDialog()) {
	                pjob.print();

	            }
	        } catch (PrinterException e) {
	            System.err.println("Erro: " + e.getMessage());
	        }
	    }

}
Criado 1 de dezembro de 2009
Ultima resposta 1 de dez. de 2009
Respostas 4
Participantes 2