Desejo imprimir um código de barras através do
Java. Quanto à impressão, tudo Ok. Infelizmente não sei como fazer para que seja
impressa uma linha mas fina, pois a linha que imprimo é muito espessa para o
código de barras.
Aqui vai o código de impressão para quem quiser dar
uma olhada, e, se puder me ajudar...
OBS.: Também estou mandando a arquivo anexo para
que vocês não percam tempo com formatação.
André Goddard - ADI
Informática
Estudante Computação UFMG
import java.awt.*; import java.awt.event.*; public class PrintGraphics extends Frame implements ActionListener { PrintCanvas canvas1; public PrintGraphics() { super("PrintGraphics"); canvas1 = new PrintCanvas(); add("Center", canvas1); Button b = new Button( "Print"); b.setActionCommand("print"); b.addActionListener(this); add("South",b); pack(); } public void actionPerformed(ActionEvent e) { String cmd = e.getActionCommand(); if (cmd.equals("print")) { PrintJob pjob = getToolkit().getPrintJob(this, "PrintGraphics", null); if (pjob != null) { Graphics pg = pjob.getGraphics(); if (pg != null) { canvas1.printAll(pg); pg.dispose(); } pjob.end(); } } } public static void main(String args[]) { PrintGraphics test = new PrintGraphics(); test.addWindowListener(new WindowCloser()); test.show(); } } //class PrintGraphics class PrintCanvas extends Canvas { public Dimension getPreferredSize() { return new Dimension(200,200); } public void paint(Graphics g) { Rectangle r = getBounds(); g.setColor(Color.white); g.fillRect(0,0, r.width, r.height); g.drawString("Hello, World", 100, 100); g.setColor(Color.red); g.drawLine(0,100,100,0); g.fillOval(135,140,15,15); g.setColor(Color.black); g.drawRect(30, 30, 30, 0); g.drawLine(15, 15, 35, 35); int[] a = {25, 45}; int[] b = {25, 15}; g.drawPolygon(a, b, 2); } } //class PrintCanvas class WindowCloser extends WindowAdapter { public void windowClosing(WindowEvent e) { Window win = e.getWindow(); win.setVisible(false); win.dispose(); System.exit(0); } } //class WindowCloser |