Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/01/2007, 14:27
franckinf
 
Fecha de Ingreso: enero-2007
Mensajes: 1
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: imprimir fichero en java

Cita:
Iniciado por kalixe985 Ver Mensaje
HOla!!!
Me gustaría saber si alguien me puede indicar alguna clase o método que me permita imprimir un fichero (de texto) en java. He estado mirando en la API pero no encuentro nada....
Gracias y saludos!!!!
Mira si te sirve:
/**
* Este programa también muestra la impresión de los componentes que se
* incluyen en una ventana. En este caso se utiliza un componente Swing
* de tipo JFrame, en el cual se incluyen varios componentes más.
* Al implementar la interfaz Printable, se proporciona la posibilidad de
* envío a impresora de los componentes. Si se pulsa el botón que lleva
* por rótulo "Imprimir", el JFrame y todos los componentes de su interior
* se lanzan a impresora.
*/
import java.awt.*;
import java.awt.event.*;
import java.awt.print.*;
import javax.swing.*;

public class java2133 extends JFrame implements Printable {

// Constructor de la clase, que crea todos los elementos que
// forman parte de la interfaz gráfica que se presenta en la ventana,
// cuyos elementos se podrán imprimir
public java2133() {
super( "Tutorial de Java, Gráficos 2D" );
// Panel para contener los componentes gráficos
JPanel panel = new JPanel();
// Se van añadiendo componentes Swing al panel
JButton botonPrn = new JButton( " Imprimir " );
JTextField f=new JTextField(10);
panel.add(f);
panel.add( botonPrn );
panel.add( new JList( new Object[] {"Uno","Dos","Tres"} ) );
panel.add( new JButton( "Pulsame" ) );
panel.add( new JCheckBox( "Marcas",true ) );
panel.add( new JComboBox( new Object[] {"Eins","Zwei","Drei"} ) );

// Control de la impresión, que se realiza al recibir el evento
// de acción correspondiente al botón de "Imprimir"
botonPrn.addActionListener( new ActionListener() {
public void actionPerformed( ActionEvent evt ) {
PrinterJob printJob = PrinterJob.getPrinterJob();
printJob.setPrintable( java2133.this );
if( printJob.printDialog() ) {
try {
printJob.print();
} catch( PrinterException e ) {
e.printStackTrace();
}
}
}
} );

setContentPane( panel );
setSize( 400,120 );
// Centramos la ventana en la pantalla
Dimension dimPantalla = Toolkit.getDefaultToolkit().getScreenSize();
Dimension dimVentana = getSize();
int x = (dimPantalla.width - dimVentana.width) / 2;
int y = (dimPantalla.height - dimVentana.height) / 2;
setLocation( x,y );

// Receptor de eventos de cierre de la ventana
addWindowListener( new WindowAdapter() {
public void windowClosing( WindowEvent evt ) {
dispose();
System.exit( 0 );
}
} );
}

// Este es el método que se encarga de la impresión, controlando
// páginas incluso
public int print( Graphics g,PageFormat pf,int pi ) {
if( pi != 0 ) {
return( NO_SUCH_PAGE );
}
Graphics2D g2 = (Graphics2D)g;
g2.translate( pf.getImageableX(),pf.getImageableY() );
getContentPane().paint( g2 );
return( PAGE_EXISTS );
}

public static void main( String[] args ) {
java2133 ejemplo = new java2133();
ejemplo.setVisible( true );
}
}