Foros del Web » Programación para mayores de 30 ;) » Java »

Metodo Imprimir!!

Estas en el tema de Metodo Imprimir!! en el foro de Java en Foros del Web. Hola a todos, Estoy haciendo un proyecto en Java,concretamente en NetBeans.Me piden que haga un metodo el cual me saquepor la impresora por ejemplo los ...
  #1 (permalink)  
Antiguo 05/02/2009, 14:15
 
Fecha de Ingreso: diciembre-2007
Mensajes: 32
Antigüedad: 16 años, 11 meses
Puntos: 0
Metodo Imprimir!!

Hola a todos,

Estoy haciendo un proyecto en Java,concretamente en NetBeans.Me piden que haga un metodo el cual me saquepor la impresora por ejemplo los datos de una persona,factura o lo que sea.
¿Podria decirme alguien por donde tirar o algun enlace en el que se vea como funciona el metodo?

Salu2
  #2 (permalink)  
Antiguo 11/02/2009, 04:08
 
Fecha de Ingreso: septiembre-2007
Mensajes: 268
Antigüedad: 17 años, 2 meses
Puntos: 8
Respuesta: Metodo Imprimir!!

/************************************************** ******************
* El siguiente programa es un ejemplo bastante sencillo de *
* impresión 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 página. En esta clase hay un método *
* 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 continuación 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 continuación el método "imprimir(String)", el encargado de *
* colocar en el objeto gráfico la cadena que se le pasa como *
* parámetro 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 Impresión 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 TAMAÑO DE LA VENTANA AL MINIMO
pack();
//NO PERMITO QUE PUEDAN CAMBIAR EL TAMAÑO 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
  #3 (permalink)  
Antiguo 10/03/2009, 11:01
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 9 meses
Puntos: 1
Exclamación Respuesta: Metodo Imprimir!!

¿Cómo puedo hacer que una línea (string) tenga un formato y la siguiente otra (por ejemplo cambiar el color del texto)?

¿Alguien sabe las dimensiones (x,y) de la hoja?

Última edición por jorgegetafe; 10/03/2009 a las 11:37
  #4 (permalink)  
Antiguo 10/03/2009, 15:26
 
Fecha de Ingreso: febrero-2009
Mensajes: 6
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Metodo Imprimir!!

Solo una respuesta:

Usa ireport.... U.u
  #5 (permalink)  
Antiguo 10/03/2009, 16:03
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: Metodo Imprimir!!

Cita:
Iniciado por aerojesus Ver Mensaje
Solo una respuesta:

Usa ireport.... U.u
Ya decía yo que eso de meter el texto línea a línea dando cada una de las coordenadas era tarea de chinos, y yo que lo iba a hacer!!!

Voy a probar el programita. Gracias.
  #6 (permalink)  
Antiguo 11/03/2009, 02:28
 
Fecha de Ingreso: septiembre-2007
Mensajes: 268
Antigüedad: 17 años, 2 meses
Puntos: 8
Respuesta: Metodo Imprimir!!

Cita:
Iniciado por jorgegetafe Ver Mensaje
Ya decía yo que eso de meter el texto línea a línea dando cada una de las coordenadas era tarea de chinos, y yo que lo iba a hacer!!!

Voy a probar el programita. Gracias.

solo deberias tener que redefinir el metodo imprimir de la clase Impresora, y meter los parametros que quieres cambiar.

Por ejemplo color: imprimir(Cadena, color)
pagina.setColor(color);
  #7 (permalink)  
Antiguo 11/03/2009, 07:55
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: Metodo Imprimir!!

Si, pero yo digo para imprimir lineas con diferentes colores y fuentes cada una...
  #8 (permalink)  
Antiguo 16/03/2009, 01:52
 
Fecha de Ingreso: septiembre-2007
Mensajes: 268
Antigüedad: 17 años, 2 meses
Puntos: 8
Respuesta: Metodo Imprimir!!

Primero recoges cadena y si sabes el separador de cada linea que supongo que es \n haces un split de cadena. Tambien puede ser el caracter intro entonces tienes que comparar con el caracter intro (que sera el CH(13));

if (!cadena.equals(""))
{
String[] cadenas = cadena.split("\\n");
imp = new Impresora();
for (int i=0; i< cadenas.length; i++)
imp.imprimir(cadena, parametros);
}

Solo tienes que cambiar el if por este otro y el bucle recorrerlo como quieras para mandarle al metodo los parametros para que lo saca como quieras.
  #9 (permalink)  
Antiguo 01/04/2009, 13:06
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: Metodo Imprimir!!

Y si en lugar de imprimir en vertical quiero imprimir en horizonta? (apaisado)

Muchas gracias.
  #10 (permalink)  
Antiguo 16/05/2009, 07:40
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: Metodo Imprimir!!

¿Por que si imprimo muchas líneas no se crea una segunda página?

¿cómo lo puedo solucionar?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:51.