Imprimindo um JFrame e seus componentes

Eu tenho trabalhado em um grande programa e uma de suas funcionalidades deve ser imprimir o conteúdo da janela principal. Eu verifiquei a API e encontrei este exemplo:

http://docs.oracle.com/javase/tutorial/2d/printing/gui.html

foi muito útil, tentei usar esse código no meu programa colocando-o dentro do método actionperformed do meu botão de impressão:

PrinterJob job = PrinterJob.getPrinterJob();
     job.setPrintable(this);
     boolean ok = job.printDialog();
     if (ok) {
         try {

             job.print();
         } catch (PrinterException ex) {
          /* The job did not successfully complete */
         }
     }

Se eu clicar no botão de impressão, recebo uma caixa de diálogo da impressora e, quando digo para ela imprimir, ela apenas imprime um documento em branco. Eu sei que o código acima não é tudo que eu preciso, como eu vi nos exemplos da API há um método print (), mas aparentemente eles nunca o chamam, então é bastante confuso. Eu tentei ligar e usá-lo muitas vezes, mas sem sucesso.

Além disso, acho que quando eu finalmente conseguir imprimir, minha janela precisará ser impressa na orientação de paisagem, pode até precisar de alguma escala. Alguma ideia de como fazer isto?

Eu gostaria de qualquer ajuda útil para me ajudar a implementar este código com sucesso. Eu sei que eu deveria ser capaz de fazê-lo sozinho apenas verificando a documentação (eu tentei por quase 2 dias agora), mas eu não posso fazê-lo funcionar. Eu aprendi toda a programação que conheço através da internet. Qualquer ajuda será muito apreciada.

questionAnswers(2)

yourAnswerToTheQuestion