Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8029984

when printing the characters are overlapping to next character

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P3 P3
    • None
    • 7
    • client-libs
    • 2d

      FULL PRODUCT VERSION :


      A DESCRIPTION OF THE PROBLEM :
      I have a problem in printing to any printers. It working properly at java 6 but trying to print at java 7; the characters are overlapping to next character.

      REGRESSION. Last worked in version 7u21

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Here is the test case .

      import java.awt.*;
      import java.awt.event.*;
      import java.awt.font.*;
      import java.awt.geom.*;
      import java.awt.print.*;
      import java.util.*;
      import javax.swing.*;
       
      public class PrintTest {
       
      public static void main(String[] args) {
      new PrintTestFrame().setVisible(true);
      }
      }
       
      class PrintTestFrame extends JFrame implements ActionListener {
       
      public PrintTestFrame() {
      setTitle( " PrintTest " );
      setSize(350, 300);
      setDefaultCloseOperation(PrintTestFrame.EXIT_ON_CLOSE);
       
      Container contentPane = getContentPane();
      canvas = new PrintPanel();
      contentPane.add(canvas, " Center " );
       
      JPanel buttonPanel = new JPanel();
      printButton = new JButton( " Print " );
      buttonPanel.add(printButton);
      printButton.addActionListener(this);
       
      contentPane.add(buttonPanel, " North " );
      }
       
      public void actionPerformed(ActionEvent event) {
      Object source = event.getSource();
      if (source == printButton) {
      PrinterJob printJob = PrinterJob.getPrinterJob();
      PageFormat pageFormat = printJob.defaultPage();
      printJob.setPrintable(canvas, pageFormat);
      if (printJob.printDialog()) {
      try {
      printJob.print();
      } catch (PrinterException exception) {
      JOptionPane.showMessageDialog(this, exception);
      }
      }
      }
      }
       
      private JButton printButton;
       
      private PrintPanel canvas;
      }
       
      class PrintPanel extends JPanel implements Printable {
       
      public void paintComponent(Graphics g) {
      super.paintComponent(g);
      Graphics2D g2 = (Graphics2D) g;
      drawPage(g2);
      }
       
      public int print(Graphics g, PageFormat pf, int page)
      throws PrinterException {
      if (page >= 1)
      return Printable.NO_SUCH_PAGE;
      Graphics2D g2 = (Graphics2D) g;
      g2.setPaint(Color.black);
      g2.translate(pf.getImageableX(), pf.getImageableY());
      g2.draw(new Rectangle2D.Double(0, 0, pf.getImageableWidth(), pf
      .getImageableHeight()));
       
      drawPage(g2);
      return Printable.PAGE_EXISTS;
      }
       
      public void drawPage(Graphics2D g2) {
      Font f = new Font(Font.DIALOG, Font.PLAIN, 12);
      g2.setFont(f);
      g2.drawString( " 100094 ?? ?? ??? ??????68?????? " , 10, 10);
      }
      }



      REPRODUCIBILITY :
      This bug can be reproduced always.

            prr Philip Race
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: