Bom dia. Estou criando uma aplicação e para finaliza-la gostaria que uma das JFrame pudesse ser impressa, para isso construi esse código:
private class Inicial7 extends JDialog implements Printable{
JLabel plano_fundo,l_quantidade,l_preco,nome_produto1, nome_produto2,nome_produto3;
ImageIcon fundo_final;
JButton b_print;
JTextField recebe_quantidade1,recebe_quantidade2,recebe_quantidade3,recebe_price1,recebe_price2,recebe_price3;
public int print(Graphics g, PageFormat pf, int page) throws PrinterException {
if (page > 0) {
return NO_SUCH_PAGE;
}
Graphics2D g2d = (Graphics2D)g;
g2d.translate(pf.getImageableX(), pf.getImageableY());
janela_final.printAll(g);
return PAGE_EXISTS;
}
public void actionPerformed(ActionEvent e) {
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrintable(this);
boolean ok = job.printDialog();
if (ok) {
try {
job.print();
} catch (PrinterException ex) {
}
}
}
private Inicial7(Frame owner, String title,boolean modal, String text1,String text2,
String text3,String price1, String price2, String price3, String nomeproduto1, String nomeproduto2, String nomeproduto3){
super(owner,title,modal);
Container janela4 = getContentPane();
janela4.setLayout(null);
Bom, tenho uma JFrame que tem um botão que chama essa JFrame(está no código acima) e passa por parâmetro via construtor algumas informações que as JTextFields(estão no código completo) irão receber. Na segunda JFrame tenho um botão imprimir, i como usar o metodo PrinterJob mas não consigo fazer uma actionListener para o botão funcionar, tentei dessa forma:
b_print.addActionListener(new PrintUIWindow(janela_final));//janela final é o nome da classe que criei para chamar uma nova janela
Por favor me ajudem, não sei mais o que fazer.
Obs: o código está meio ridículo mais eu estou começando.