Applet

Hola Experto,
Tengo una duda, quisiera saber si se puede imprimir los gráficos generados en un applet, es decir en un applet realizo unos gráficos y al terminar de cargar el applet quiero enviar a la impresora por default, se puede hacer esto, además puedo grabarlo como un archivo .jpeg?
De atemano muchas gracias

1 respuesta

Respuesta
1
Respondiendo a tú pregunta, si que se puede imprimir los gráficos generados en un applet.
Lo puedes hacer de la siguiente forma:
- Te creas un objeto de la clase Canvas.
- Utilizas el método paint() de la clase Canvas, para dibujar lo que quieras.
- Te creas un objeto de la clase PrintJob.
- Utilizas el método printAll() de la clase Canvas, pasandole como parametro el objeto printjob.
Te adjunto un ejemplo:
import java.awt.*;
import java.awt.event.*;
import java.util.Properties;
import ju.ch09.*;
public class PrintSampleApp extends Frame {
Object menuItems[][] = {{"File","Print","-","Exit"}};
MenuItemHandler mih = new MenuItemHandler();
MyMenuBar menuBar = new MyMenuBar(menuItems,mih,mih);
MyCanvas canvas = new MyCanvas();
Toolkit toolkit;
int screenWidth = 500;
int screenHeight = 500;
public static void main(String args[]){
PrintSampleApp app = new PrintSampleApp();
}
public PrintSampleApp() {
super("PrintSampleApp");
setup();
setSize(screenWidth,screenHeight);
addWindowListener(new WindowEventHandler());
show();
}
void setup() {
setMenuBar(menuBar);
toolkit=getToolkit();
add("Center",canvas);
}
class MenuItemHandler implements ActionListener, ItemListener {
public void actionPerformed(ActionEvent ev){
String s=ev.getActionCommand();
String name="Test print job";
Properties properties=new Properties();
if(s=="Exit"){
System.exit(0);
}else if(s=="Print"){
PrintJob pj=toolkit.getPrintJob(PrintSampleApp.this,
name,properties);
if(pj!=null){
canvas.printAll(pj.getGraphics());
pj.end();
}
}
}
public void itemStateChanged(ItemEvent e){
}
}
class WindowEventHandler extends WindowAdapter {
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
}
class MyCanvas extends Canvas {
public void paint(Graphics g){
Dimension size=getSize();
int width=size.width;
int height=size.height;
int x1=(int) (width*0.1);
int x2=(int) (width*0.9);
int y1=(int) (height*0.1);
int y2=(int) (height*0.9);
g.drawRect(x1,y1,x2-x1,y2-y1);
g.drawOval(x1,y1,x2-x1,y2-y1);
g.drawLine(x1,y1,x2,y2);
g.drawLine(x2,y1,x1,y2);
String text = "Print Me! ";
text+=text;
text+=text;
g.drawString(text,x1,(int)((y1+y2)/2));
g.dispose();
}
}

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas