Como creo un botón que haga la función de imprimir?

Iniciado por 1adria1, 11 Febrero 2013, 16:29 PM

0 Miembros y 1 Visitante están viendo este tema.

1adria1

Buenas, soy 1adria1 y es mi primer post.
Llevo unos días trabajando en un proyecto en el cual, al abrir el programa , selecciones un archivo excel(que es la base de datos), entonces por pantalla el programa te muestra todo lo que hay en el excel. Una vez mostrado hay un campo para buscar una persona por el nombre y los apellidos, y a medida que vas introduciendo letras, van apareciendo las personas en el excel. Una vez has encontrado la persona, necesito hacer un botón para imprimir esos datos. Como hago para que al pinchar el botón se abra un panel de impresión cualquiera, es decir, cuando por ejemplo haces imprimir en excel o word, pues algo parecido. Como lo hago?

Gracias de antemano.

Luna71c0

Citar
Se trata de un programa que recibe un String en un campo de texto y lo imprime al pulsar el botón 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


espero sirva de algo, saludos

Citar
Un pequeño paso para el programador....
Un gran paso para el hacker...

...]LunaHAck[...


i'm the "Luna71c0"


1adria1

Esto lo aplico directamente a mi código, a la clase principal,y en principio tendrií que ver el campo y el botón imprimir verdad? No me sale el botón y no se porqué...

sapito169

nunca te va a salir nada si copias y pegas código

primero aprende a crear ventanas con botones desde cero y a mano y nunca mas vas a necesitar ayuda otra ves