Avatar billede cxy88 Nybegynder
24. februar 2002 - 17:24 Der er 6 kommentarer

Print Skærm billede

Efter jeg har brugt JAVA at lave en brugegrænseflade, Hvordan kan jeg printe resultatet(brugegrænseflade) ud??
Avatar billede birkis Nybegynder
24. februar 2002 - 17:37 #1
Print Scrn-knappen (eller Alt + Print Scrn for kun det aktive vindu) og Paste i MS Paint e.l.?
Avatar billede carstenknudsen Nybegynder
24. februar 2002 - 17:41 #2
Den komponent du vil printe skal du
registrere med:
Component c = ...;
ComponentPrinter.makePrintable( c );
så kan du trykke control-p når
komponenten er aktiv. Koden til
ComponentPrinter er herunder.
import java.awt.*;
import java.awt.event.*;
import java.awt.print.*;
public class ComponentPrinter implements Printable {
    private Component c;
    /**
    * Constructor for class ComponentPrinter that
    * takes a Component as an argument.
    * @param c Component that we wish to print.
    **/
    public ComponentPrinter( Component c ) {
    this.c = c;
    } // constructor

    /**
    * The method print sets up the PrinterJob.
    **/
    public void print() throws PrinterException {
    PrinterJob job = PrinterJob.getPrinterJob();
    PageFormat format = job.pageDialog( job.defaultPage() );
    job.setPrintable( this, format );
    if ( job.printDialog() )
        job.print();
    } // print

    /**
    * The method print is called by PrinterJob.
    **/
    public int print( Graphics g, PageFormat format, int pagenum ) {
    if ( pagenum > 0 )
        return Printable.NO_SUCH_PAGE;
    Graphics2D g2 = (Graphics2D)g;
    g2.translate( format.getImageableX(), format.getImageableY() );
    c.paint( g2 );
    return Printable.PAGE_EXISTS;
    } // print

    /**
    * The static method makePrintable registers a key listener on
    * the component, and when the user presses ctrl-p key the
    * contents can be printed directly on a printer.
    **/
    public static void makePrintable( final Component c ) {
    c.addKeyListener( new KeyAdapter() {
        public void keyPressed( KeyEvent e ) {
            if ( e.getKeyCode() == KeyEvent.VK_P && e.isControlDown() ) {
            ComponentPrinter printer = new ComponentPrinter( c );
            try {
                printer.print();
            } // try
            catch ( PrinterException pe ) {
            } // catch
            } // if
        } // keyPressed
        } // KeyAdapter
              );
    } // makePrintable

} // ComponentPrinter
Avatar billede cxy88 Nybegynder
24. februar 2002 - 22:38 #3
Mange tak for hjælpen!!:) det lykkes for mig nu!:)
Avatar billede gimmer Nybegynder
23. oktober 2003 - 14:36 #4
Hvordan får jeg add'et noget til den component?
ala c.add(panel1)
eller
c.add(Jframe)
eller hva`?
Avatar billede gimmer Nybegynder
20. februar 2009 - 19:48 #5
Lukket har fundet en løsning
Avatar billede DalleJava Nybegynder
16. september 2009 - 15:53 #6
Hvad var din løsning?
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