Sie sind auf Seite 1von 5

Utilizamos cookies propias y de terceros para mejorar la experiencia de navegacin, y ofrecer contenidos y publicidad de inters.

Al continuar con la navegacin entendemos que se acepta nuestra poltica de cookies.

Iniciar sesin

Comunidad de Programadores

Crear cuenta

Documentacin y Recursos

Foros y Consultas

Programadores

Programas

Otros

Cursos y Manuales

Foros de Consulta

Programadores

Programas/Utilidades

Colaboradores

Biblioteca de Temas

Preguntas/Respuestas

Ofertas de Trabajo

Nuestros Programas

Encuestas/Estadsticas

Cdigo Fuente

Tabln de Notas

Solicitudes para prog.

Iconos y Cursores

Contactar

Noticias/Artculos

Diccionario informtico

Lista de Correo

LWP Cdigo Fuente Java Cdigo de Java - Imprimir en Java

C
Cddiiggoo ddee JJaavvaa -- IIm
mpprriim
miirr eenn JJaavvaa
Agregar Cdigo Fuente

Buscar

Volver
<< >>

IIm
mpprriim
miirr eenn JJaavvaa
Java

(26)

Publicado el 24 de Abril del 2002 por Jos Miguel Galea Yrausquin


139.159 visualizaciones desde el 24 de Abril del 2002. Una media de 210 por semana
Se trata de un programa que recibe un String en un campo de texto y lo imprime al pulsar el botn IMPRIMIR.

VVeerrssiinn 11

(26)

Publicado el 24 de Abril del 2002


139.160 visualizaciones desde el 24 de Abril del 2002. Una media de 210 por
semana

/********************************************************************
*
El siguiente programa es un ejemplo bastante sencillo de
*
impresin con JAVA.
********************************************************************/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
/********************************************************************
*
La siguiente clase llamada "Impresora", es la encargada de
*
establecer la fuente con que se va a imprimir, de obtener el
*
trabajo de impresion, la pgina. En esta clase hay un mtodo
*
llamado imprimir, el cual recibe una cadena y la imprime.
********************************************************************/
class Impresora
{
Font fuente = new Font("Dialog", Font.PLAIN, 10);
PrintJob pj;
Graphics pagina;

*
*
*

/********************************************************************
*
A continuacin el constructor de la clase. Aqu lo nico que
*
*
hago es tomar un objeto de impresion.
********************************************************************/
Impresora()
{
pj = Toolkit.getDefaultToolkit().getPrintJob(new Frame(), "SCAT", null);
}
/********************************************************************
*
A continuacin el mtodo "imprimir(String)", el encargado de
*
*
colocar en el objeto grfico la cadena que se le pasa como
*
parmetro y se imprime.
********************************************************************/
public void imprimir(String Cadena)
{
//LO COLOCO EN UN try/catch PORQUE PUEDEN CANCELAR LA IMPRESION
try
{
pagina = pj.getGraphics();
pagina.setFont(fuente);
pagina.setColor(Color.black);

pagina.drawString(Cadena, 60, 60);


pagina.dispose();
pj.end();
}catch(Exception e)
{
System.out.println("LA IMPRESION HA SIDO CANCELADA...");
}
}//FIN DEL PROCEDIMIENTO imprimir(String...)
}//FIN DE LA CLASE Impresora

//A CONTINUACION LA CLASE PRINCIPAL


public class Programa extends JFrame
{
String cadena;
JTextField campo;
JButton imprimir;
JLabel info;
Impresora imp;
JPanel principal = new JPanel(new BorderLayout());
JPanel etiq = new JPanel(new FlowLayout());
JPanel dos = new JPanel(new FlowLayout());
//CONSTRUCTOR DE LA CLASE
Programa()
{
super("Muestra Simple de Impresin en JAVA...");
info = new JLabel("ESCRIBA ALGO EN EL CAMPO Y HAGA CLIC EN IMPRIMIR...");
cadena = new String();
campo = new JTextField(30);
imprimir = new JButton("IMPRIMIR");
dos.add(campo);
dos.add(imprimir);
etiq.add(info);
campo.setToolTipText("ESCRIBA ALGO AQU...");
imprimir.setToolTipText("CLIC AQUI PARA IMPRIMIR...");
principal.add(etiq, BorderLayout.NORTH);
principal.add(dos, BorderLayout.CENTER);
getContentPane().add(principal);
//AJUSTO EL TAMAO DE LA VENTANA AL MINIMO
pack();
//NO PERMITO QUE PUEDAN CAMBIAR EL TAMAO DE LA VENTANA
this.setResizable(false);

//AHORA LA CENTRAR EN LA PANTALLA


Dimension pantalla, cuadro;
pantalla = Toolkit.getDefaultToolkit().getScreenSize();
cuadro = this.getSize();
this.setLocation(((pantalla.width - cuadro.width)/2),
(pantalla.height - cuadro.height)/2);
//LE AGREGAMOS EL EVENTO AL BOTON "imprimir"
imprimir.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
cadena = "";
cadena = String.valueOf(campo.getText());
if (!cadena.equals(""))
{
imp = new Impresora();
imp.imprimir(cadena);
}
else System.out.println("NO SE IMPRIME NADA EN BLANCO...");

});

campo.requestFocus();
campo.select(0, cadena.length());

}//FIN DEL CONSTRUCTOR


public static void main(String jm[])
{
Programa p = new Programa();
p.show();
p.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent evt)
{
System.exit(0);
}
});
}//FIN DEL MAIN
}//FIN DE LA CLASE PRINCIPAL

CCoom
meennttaarriiooss ssoobbrree llaa vveerrssiinn:: VVeerrssiinn 11 ((2266))
15/10/2002 IIvvaann
Es una chulada de ejemplo
25/07/2003 LLuuiiss FFeerrnnaannddoo O
Orrttiizz
EL cdigo es muy ilustrativo, pero en mi ordenador salta una interrupcin (que lgicamente el programa
intercepta) y no imprime en mi impresora local y no tengo idea de que puede pasar.
24/06/2004 M
Miissttiikkaall
Es muy bueno el ejemplo, Gracias, 2 observaciones, que le agregues que las librerias hay que importarlas en las 2
clases, y que se jen en guardar en archivos separados las clases, y con el nombre que estan declarados
14/07/2004 M
Maarriioo
Exelente Ejemplo
06/02/2006 G
Geerraarrddoo
Hola.
No puedo hacer funcionar este programa; si alguien me puede ayudar, se lo agradecer. se compila todo junto o
por partes, cuales seran ?
Gracias

09/02/2006 ppeettrraa2299
muy buen codigo.. muchas gracias... voy a adaptarlo, para lo que lo necesito...
19/02/2006 M
Maarriisseellaa
Este codigo es de gran utilidad, puesto que explica usted cada funcion que va hacer el programa y lo principal que
es muy claor y facil de entender
15/03/2006 M
MEEM
MO
O
el codigo es execelente y muy facil que rifado eres mano
28/03/2006 O
Ossvvaallddoo CCaannttuu
Aka dejo otro codigo para imprimir en java
"abres un archivo txt y lo carga en un jTextArea y lo imprime"
/****************************************************************/
/* Imprime */
/* */
/****************************************************************/
package imprime;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
/**
* Summary description for Imprime
*
*/
public class Imprime extends JFrame
{
// Variables declaration
private JLabel jLabel1;
private JTextArea jTextArea1;
private JScrollPane jScrollPane1;
private JButton jButAbrir;
private JButton jButImprime;
private JPanel contentPane;
// End of variables declaration
public Imprime()
{
super();

initializeComponent();
this.setVisible(true);
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always regenerated
* by the Windows Form Designer. Otherwise, retrieving design might not work properly.
* Tip: If you must revise this method, please backup this GUI le for JFrameBuilder
* to retrieve your design properly in future, before revising this method.
*/
private void initializeComponent()
{
jLabel1 = new JLabel();
jTextArea1 = new JTextArea();
jScrollPane1 = new JScrollPane();
jButAbrir = new JButton();
jButImprime = new JButton();
contentPane = (JPanel)this.getContentPane();
//
// jLabel1
//
jLabel1.setText("Archivo:");
//
// jTextArea1
//
//
// jScrollPane1
//
jScrollPane1.setViewportView(jTextArea1);
//
// jButAbrir
//
jButAbrir.setHorizontalTextPosition(SwingConstants.CENTER);
jButAbrir.setIcon(new ImageIcon("buscar.PNG"));
jButAbrir.setText("Abrir");
jButAbrir.setToolTipText("Abrir");
jButAbrir.setVerticalAlignment(SwingConstants.TOP);
jButAbrir.setVerticalTextPosition(SwingConstants.BOTTOM);
jButAbrir.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
jButAbrir_actionPerformed(e);
}
});
//
// jButImprime
//
jButImprime.setHorizontalTextPosition(SwingConstants.CENTER);
jButImprime.setIcon(new ImageIcon("Imprime.PNG"));
jButImprime.setText("Imprimir");
jButImprime.setToolTipText("Imprimir");
jButImprime.setVerticalAlignment(SwingConstants.TOP);
jButImprime.setVerticalTextPosition(SwingConstants.BOTTOM);
jButImprime.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
jButImprime_actionPerformed(e);
}
});
//
// contentPane
//
contentPane.setLayout(null);
addComponent(contentPane, jLabel1, 14,19,487,18);
addComponent(contentPane, jScrollPane1, 14,44,486,230);
addComponent(contentPane, jButAbrir, 126,285,90,80);
addComponent(contentPane, jButImprime, 296,285,90,80);
//
// Imprime
//
this.setTitle("Impresion de Archivos TXT");
this.setLocation(new Point(280, 170));
this.setSize(new Dimension(524, 411));
}
/** Add Component Without a Layout Manager (Absolute Positioning) */
private void addComponent(Container container,Component c,int x,int y,int width,int height)
{
c.setBounds(x,y,width,height);
container.add(c);
}
private void jButAbrir_actionPerformed(ActionEvent e)
{
System.out.println("\njButAbrir_actionPerformed(ActionEvent e) called.");
//-----------------------------//Aqui permites escoger un txt para ponerlo en jtextarea
int state;
String msg;
FileDialog le = new FileDialog (Imprime.this, "Load File", FileDialog.LOAD);
le.setFile ("*.txt");
le.show();
String curFile;
if ((curFile = le.getFile()) != null)
{
String lename = le.getDirectory() + curFile;
char[] data;
setCursor (Cursor.getPredenedCursor(Cursor.WAIT_CURSOR));
File f = new File (lename);
try
{
FileReader n = new FileReader (f);
int lesize = (int)f.length();
data = new char[lesize];
n.read (data, 0, lesize);
}
catch (FileNotFoundException exc)
{
String errorString = "No se Encontro Archivo: " + lename;
data = errorString.toCharArray ();
}
catch (IOException exc)
{
String errorString = "Tipo de Error: " + lename;
data = errorString.toCharArray ();
}
jLabel1.setText ("Archivo: " + lename);
jTextArea1.setText (new String (data));
setCursor (Cursor.getPredenedCursor(Cursor.DEFAULT_CURSOR));
}
//------------------------------

}
private void jButImprime_actionPerformed(ActionEvent e)
{
System.out.println("\njButImprime_actionPerformed(ActionEvent e) called.");
//-----------------------------// Escoger tipo modelo y etc de fuente para ponerlo en una sola variable
String family = "Serif";
int style = Font.PLAIN;
int size = 20;
Font fuente = new Font(family, style, size);
//Terminacion de fuente
Properties defaultProps = new Properties();
PrintJob print=Toolkit.getDefaultToolkit().getPrintJob(this,"Imprimir",defaultProps);
Graphics g=print.getGraphics();
if(g!=null)
{
jTextArea1.printAll(g);
}
g.dispose();
print.end();
//-----------------------------}
//============================= Testing ================================//
//= =//
//= The following main method is just for testing this class you built.=//
//= After testing,you may simply delete it. =//
//======================================================================//
public static void main(String[] args)
{
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
try
{
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
}
catch (Exception ex)
{
System.out.println("Failed loading L&F: ");
System.out.println(ex);
}
new Imprime();
}
//= End of Testing =
}
22/04/2006 kkaarreenn hhddeezz..
Gracias por el codigo lo necesitaba urgentemente, ademas de que es excelente.
29/05/2006 O
OSSccaarr
HOla muy bueno el codigo pero seria mas interesantre si es que imprimimes un Jpanel osea al go que no es una
cadena si tienes el cdogio te agradeceria que me lo enviaras gracias
21/12/2006 FFeennttiinnaakk
Y si lo que le pasas como cadena es un documento de varias lineas?
cmo imprimirias los saltos de linea?
Un saludo!
11/10/2007 AArrttuurroo
Claro, falta nomas un poco de orden en el codigo, pero es conciso
02/12/2007 m
miigguueell pprriieettoo
GRACIAS POR LA TUTORIAL AMAIGO SE LO ANEXARE A MI PROYECTO FINAL =) DE VERDAD ERES UN BUEN
PROGRAMAS DOR MUCHAS GRACIAS POR LA AYUDA ESTA MUY BIEN EXPLICADO
21/12/2007 JJuuaann CCaarrllooss G
Goonnzzaalleezz
hola a todos que tal, te cuento ocupe tu codigo que esta re bueno pero temgo un solo propblema creo el objeto
de impresion y ocupo el metodo imprimir pero imprime solo una vez y el resto de las veces me tira un error
javanullexception o algo asi tonces no entiendo como lo podria hacer, o por ultimo imprimir en la imopresora
determinada y no elejir la impresora cada vez que quisiese imprimir...
ojala alguien tenga una respuesta....
28/06/2008 N
Noovviixx
bueno ...solo agradecer ....esta buenisimo..el codigo ....me sirvio bastante ...solo una observacion para los que los
utilizen ...deben hacer publica la clase imprimir ....y tambien el constructor....
15/09/2008 BBiill l
Muchas gracias no entendia por que no poda imprimir y ahora que vi este cdigo ya es ms claro, el reusar
cdigo ya sea para aplicaciones mas ambiciosas o solo para nes de estudio es un gran apoyo. Pronto tambien
hare mi aportacin para ayudar otros programadores. Saludos colegas, jajaja.
08/11/2008 CCaarrllooss W
W.. RRuuiizz ddee llaa VVeeggaa
Muy bueno amigo.... bien directo a lo que todos buscan un codigo entendible.... tienes mi boto.. saludos desde
Per.
23/04/2009 JJuulliioo O
Ossoorriioo
gracias por ahorrarme la chamba!!!
05/07/2010 bbrraadd ppzzzzaa
Tio sos muy groso, sabelo che
30/12/2010 JJuuaann M
Maannuueell G
Gaarrcciiaa CCaarrm
miinnaa
Excelente amigo, muchas gracias, funciona de maravilla, yo lo implemente con un applet para imprimir datos que
se envian por medio de un JSON.
25/06/2011 D
Daarrw
wiinn
excelente le falto esta parte a mi proyecto y tu publicas un buen ejemplo Gracias men
09/08/2011 JJoossee CCaarrllooss
Est genial, pero no imprime saltos de linea ("\n")

Hay alguna manera de hacerlo?


08/10/2011 eeddggaarr
gracias cuate, me salvaste
26/11/2013 O
Ossccaarr
excelente !!!!
03/12/2014 aabbeell
Excelente ejemplo amigo

CCoom
meennttaarr llaa vveerrssiinn:: VVeerrssiinn 11
N
Noom
mbbrree
CCoorrrreeoo ((nnoo ssee vviissuuaalliizzaa eenn llaa w
weebb))
VVaalloorraacciinn
Comentarios

Enviar Datos

http://lwp-l.com/s162

Consulta tus dudas en el foro de Java

PPaassaarr uunn bbyyttee aa hheexxaaddeecciim


maall

BBoottoonneess eenn JJaavvaa

IInnffoorrm
maacciinn yy R
Reeccuurrssooss

FFoorrooss yy C
Coonnssuullttaass

PPrrooggrraam
maaddoorreess

PPrrooggrraam
maass

O
Ottrrooss

Cursos y Manuales
Biblioteca de Temas
Cdigo Fuente
Noticias/Artculos

Foros de Consulta
Preguntas/Respuestas
Tabln de Notas
Diccionario

Programadores
Ofertas de Trabajo
Solicitudes
Lista de Correo

Programas/Utilidades
Nuestros Programas
Iconos y Cursores

Colaboradores
Encuestas
Contactar

Copyright 2000-2014 Interactive Programmers Community - Todos los derechos reservados

Das könnte Ihnen auch gefallen