Avatar billede adada Nybegynder
19. maj 2002 - 11:56 Der er 4 kommentarer og
1 løsning

Udskriv funktion

Jeg ville gerne vide, hvordan man laver en udskriv funktion i java, så man kan udskrive til en printer. Hvordan laver man sådan, at man kan udskrive til en printer med en ip. Hvis i kender nogle links til sider der omhandler dette emne, så må i gerne skrive dem?
Avatar billede aslan Nybegynder
19. maj 2002 - 12:13 #1
Avatar billede aslan Nybegynder
19. maj 2002 - 12:16 #2
Avatar billede adada Nybegynder
20. maj 2002 - 23:32 #3
Jeg ville høre om du ikke har et eksempel på en udskrift funktion.
Avatar billede r9 Nybegynder
23. maj 2002 - 18:48 #4
Disse 2 klasser er et Java GUI program, som viser hvordan man printer i java:


import java.awt.*;
import java.awt.print.*;

import javax.swing.JComponent;

public class ComponentPrintable
    implements Printable {
  private Component mComponent;
 
  public ComponentPrintable(Component c) {
    mComponent = c;
  }
 
  public int print(Graphics g, PageFormat pageFormat, int pageIndex) {
    if (pageIndex > 0) return NO_SUCH_PAGE;
    Graphics2D g2 = (Graphics2D)g;
    g2.translate(pageFormat.getImageableX(), pageFormat.getImageableY());
    boolean wasBuffered = disableDoubleBuffering(mComponent);
    mComponent.paint(g2);
    restoreDoubleBuffering(mComponent, wasBuffered);
    return PAGE_EXISTS;
  }

  private boolean disableDoubleBuffering(Component c) {
    if (c instanceof JComponent == false) return false;
    JComponent jc = (JComponent)c;
    boolean wasBuffered = jc.isDoubleBuffered();
    jc.setDoubleBuffered(false);
    return wasBuffered;
  }
 
  private void restoreDoubleBuffering(Component c, boolean wasBuffered) {
    if (c instanceof JComponent)
      ((JComponent)c).setDoubleBuffered(wasBuffered);
  }
}







Og Main klassen:

import java.awt.*;
import java.awt.event.*;
import java.awt.print.*;
import javax.swing.*;
import javax.swing.event.*;

public class SwingPrinter extends JFrame {
  public static void main(String[] args) {
    new SwingPrinter();
  }
 
  private PageFormat mPageFormat;
 
  public SwingPrinter() {
    super("SwingPrinter");
    createUI();
    PrinterJob pj = PrinterJob.getPrinterJob();
    mPageFormat = pj.defaultPage();
    setVisible(true);
  }

  protected void createUI() {
    setSize(300, 300);

    JMenuBar mb = new JMenuBar();
    JMenu file = new JMenu("File", true);
    file.add(new FilePrintAction()).setAccelerator(
        KeyStroke.getKeyStroke(KeyEvent.VK_P, Event.CTRL_MASK));
    file.add(new FilePageSetupAction()).setAccelerator(
        KeyStroke.getKeyStroke(KeyEvent.VK_P,
            Event.CTRL_MASK | Event.SHIFT_MASK));
    file.addSeparator();
    file.add(new FileQuitAction()).setAccelerator(
        KeyStroke.getKeyStroke(KeyEvent.VK_Q, Event.CTRL_MASK));
    mb.add(file);
    setJMenuBar(mb);
   
    JTextArea t = new JTextArea();
    getContentPane().add(t);

    addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent e) {
        System.exit(0);
      }
    });
  }

  public class FilePrintAction extends AbstractAction {
    public FilePrintAction() {
        super("Print");
    }
   
    public void actionPerformed(ActionEvent ae) {
      PrinterJob pj = PrinterJob.getPrinterJob();
      ComponentPrintable cp = new ComponentPrintable(getContentPane());
      pj.setPrintable(cp, mPageFormat);
      if (pj.printDialog()) {
        try { pj.print(); }
        catch (PrinterException e) {
          System.out.println(e);
        }
      }
    }
  }

  public class FilePageSetupAction extends AbstractAction {
    public FilePageSetupAction() { super("Page setup..."); }
    public void actionPerformed(ActionEvent ae) {
      PrinterJob pj = PrinterJob.getPrinterJob();
      mPageFormat = pj.pageDialog(mPageFormat);
    }
  }
 
  public class FileQuitAction extends AbstractAction {
    public FileQuitAction() { super("Quit"); }
    public void actionPerformed(ActionEvent ae) {
      System.exit(0);
    }
  }
}
Avatar billede torving Nybegynder
26. maj 2002 - 06:19 #5
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