Avatar billede a-torsten Nybegynder
08. april 2002 - 14:51 Der er 1 kommentar og
1 løsning

Udskrif JTextArea til printer....

hejsa..

Jeg har lavet et lille program der udskriver en enkelt linie (JTextField) til printeren, og den virker....

Hvis jeg udskrifter min JtextField med JTextArea virker den også, men jeg kunne godt tænke mig at få linieskiftene med.... Nogen der har en løsning eller nogle links hvor  jeg kan hente noget inspiration...

Min nuværende kode...
import java.awt.event.*;
import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.*;
import java.awt.geom.*;
import java.awt.print.*;

public class PrintTest extends JPanel
{   
    final static JButton printButton = new JButton("Udskriv");
    final static JButton exitButton = new JButton("Luk");
    public static JTextField printInput = new JTextField("                                ");
    public static JTextArea printArea = new JTextArea("                    ");
       
    static String printTekst = "Skriv tekst her";
   
    public PrintTest()
    {    
       
        PrintTestActionListener aktivLytter = new PrintTestActionListener();
       
        printButton.addActionListener(aktivLytter);
        exitButton.addActionListener(aktivLytter);       
    }
   
    public static void main(String[] args)
    {
        JFrame printVindue = new JFrame(); 
        JPanel printPanel = new JPanel();
             
    //    printPanel.add(printArea);
        printPanel.add(printInput);
        printPanel.add(printButton);
        printPanel.add(exitButton);
        printVindue.getContentPane().add(BorderLayout.NORTH, printPanel);
        printVindue.getContentPane().add( BorderLayout.CENTER, new PrintTest() );
       
        printVindue.setSize(300, 70);
        printVindue.show();      
    }
   
    private class PrintTestActionListener implements ActionListener
    {
        public void actionPerformed(ActionEvent event)
        {
            Object source = event.getSource();
           
            if (source == printButton)
            {
                setPrintTekst(printInput.getText());
                skrivUd();
            }
            if (source == exitButton){lukProgram();}
        }
    }//end inner-class PrintTestActionListener
   
    public void skrivUd()
    {
        PrinterJob job = PrinterJob.getPrinterJob();
        Book udskriftJob = new Book();
        udskriftJob.append(new PaintCover(), job.defaultPage());
        job.setPageable(udskriftJob);
        if (job.printDialog())
        { 
        try{job.print();}
        catch (Exception exc){System.exit(0);}   
        }
    }
   
    private void lukProgram()
    {
        System.exit(0);
    }
   
    private void setPrintTekst(String a)
    {
        printTekst = a;
    }
   
    public static String getPrintTekst()
    {
        return printTekst;
    }
} //End class PrintTest

class PaintCover implements Printable
{
    public int print(Graphics g, PageFormat pf, int pageIndex)
    throws PrinterException
    {
        Font skriftType = new Font("Helvetica-Bold", Font.PLAIN, 16);
        g.setFont(skriftType);
          g.setColor(Color.black);
        g.drawString(PrintTest.getPrintTekst(), 70, 180);
        return Printable.PAGE_EXISTS;
    }
}
   
   
   
-Anders
Avatar billede a-torsten Nybegynder
08. april 2002 - 16:51 #1
Anyone.??
Avatar billede a-torsten Nybegynder
09. april 2002 - 09:49 #2
Lukker... Tager selv udfordringen op...

-Anders
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester