Как я могу исправить эту ошибку? - PullRequest
1 голос
/ 06 июля 2011
// Program to print simple text on a Printer

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

class Printer extends JPanel implements Printable  {

JButton print;

Printer() {
 buildGUI();
 hookUpEvents();
}

public void buildGUI() {
  JFrame fr = new JFrame("Program to Print on a Printer");
  JPanel p = new JPanel();
  print = new JButton("Print");
  setPreferredSize( new Dimension ( 200,200 ) );
  p.setBackground( Color.black );
  fr.add(p);
  p.add( print , BorderLayout.CENTER );
  fr.pack();
  fr.setVisible( true );
}

public void hookUpEvents() {
 print.addActionListener( new ActionListener() {
   public void actionPerformed( ActionEvent ae ) {
      PrinterJob job = PrinterJob.getPrinterJob();
      job.setPrintable( new Printer() );
      boolean doPrint = job.printDialog();
       if( doPrint ) {
           try {
            job.print();
           }  catch( PrinterException exc) {
                System.out.println( exc );
              }
       }  else {
            System.out.println("You cancelled the print");
          } 
   }
 });
}

public static void main( String args[] ) {
  new Printer();
}
}

Когда я компилирую код, я получаю следующую ошибку:

Printer.java:9: Printer is not abstract and does not override abstract method   print(Graphics,PageFormat,int) in Printable
 class Printer extends JPanel implements Printable  {

^ 1 ошибка

Как я могу исправить эту ошибку?

1 Ответ

2 голосов
/ 06 июля 2011

@ Сухайл: Думаю, вам нужно реализовать интерфейс для печати: -

class Printer extends JPanel implements java.awt.print.Printable

и добавить метод: -

public int print(Graphics graphics, PageFormat pageFormat, int pageIndex)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...