18. maj 2012 - 21:41
Der er
12 kommentarer
print funktion
Hej, Nogle her som vide noget om print metode i java? jeg vil gerne printe noget Jtextfields ud, og jeg ved ikke hvor jeg skal starte hen? nogle her som kan hjælpe? rigtig mange tak.
Annonceindlæg fra Computerworld it-jobbank
Vil du printe teksten ud eller vil du printe ud som tekst boksen vises?
Jeg vil gerne print teksten ud :D
Java har et Java Print API. Og dokumentationen er utrolig kompleks, men koden kan vaere meget simpel. Demo: import java.io.ByteArrayInputStream; import javax.print.Doc; import javax.print.DocFlavor; import javax.print.DocPrintJob; import javax.print.PrintException; import javax.print.PrintService; import javax.print.PrintServiceLookup; import javax.print.SimpleDoc; public class PrintText { public static void main(String[] args) throws PrintException { String text = "Hello world!\r\nLine 2"; Doc doc = new SimpleDoc(new ByteArrayInputStream(text.getBytes()), DocFlavor.INPUT_STREAM.AUTOSENSE, null); PrintService service = PrintServiceLookup.lookupDefaultPrintService(); DocPrintJob job = service.createPrintJob(); job.print(doc, null); } }
er det muligt at justere størrelse på teksten? måske også i længde og bredden?
er det muligt at justere størrelse på teksten? måske også i længde og bredden?
Vil du justere tekstens udseende uafhaengigt af JTextField eller vil du printe dit JTextField (med det layout som det nu har)?
Tekster som jeg vil printe ud ligger på JTextarea, og den vil selvfølgelig gerne printe ud,. Men Den skal printes på en bonroll(kvittering) størrelse. Teksten på jTextarea er stor. Derfor savner jeg en metode som kan justeres.?
Saa skal du nok til at printe JTextField/JTextArea fremfor teksten. Demo: import java.awt.BorderLayout; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.print.Book; import java.awt.print.PageFormat; import java.awt.print.Printable; import java.awt.print.PrinterJob; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JTextField; import javax.swing.SwingUtilities; public class PrintTextField extends JFrame { private JTextField tf; public PrintTextField() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setTitle("Text field print"); getContentPane().setLayout(new BorderLayout()); tf = new JTextField(); tf.setForeground(Color.RED); tf.setFont(new Font(Font.SANS_SERIF, Font.PLAIN, 72)); getContentPane().add(tf, BorderLayout.CENTER); JButton btn = new JButton("Print"); btn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ev) { PrinterJob job = PrinterJob.getPrinterJob(); Book bk = new Book(); bk.append(new Printable() { public int print(Graphics g, PageFormat page, int index) { Graphics2D g2 = (Graphics2D) g; g2.translate(page.getImageableX(), page.getImageableY()); tf.paint(g2); return Printable.PAGE_EXISTS; } }, job.defaultPage()); job.setPageable(bk); if (job.printDialog()) { try { job.print(); } catch (Exception e) { e.printStackTrace(); } } } }); getContentPane().add(btn, BorderLayout.SOUTH); pack(); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { JFrame f = new PrintTextField(); f.setVisible(true); } }); } }
Hej, når jeg kører programmet så kommer printe- dialog ud, og spørge hvilken print jeg vil bruge. Men hvis nu jeg vil ikke have der pop printer dialog ud, og skal printe med et samme ud ? kan man gøre det? (Bonprinter/kvitteringprinter)?
03. juni 2012 - 15:09
#10
Hvad sker der hvis du undlader at kalde job.printDialog() ?
11. juni 2012 - 18:28
#11
Hej arne_v, jeg er ked af det fordi du ikke har fået den point på min tidligere spørglsmål. Jeg må har trykket forkert. jeg skal prøve pointgiver rigtig fremover. men angående denne her spørgsmål vil jeg gerne spørge om det er muligt at justere teksten størrelse, når man printer teksten ud. F.eks. på jtextArea har jeg størrelse 24, men når jeg printer det , vil jeg gerne have størrelse ændre til mindre på selve kvitteringen? er det muligt? med venlig hilsen Li
11. juni 2012 - 21:16
#12
hhhmmm, og den printer kun første få bogstaver med, og starter med at skrive på midten?
Kurser inden for grundlæggende programmering