Solved

Printing in Java Application

Posted on 1998-02-16
8
150 Views
Last Modified: 2013-11-23
A rather simple question I hope. How do I print the text within a component in Java? or print the
 contents of a file? For example, in a TextArea? I see there is a printall method for graphics but it only
 does a screen snap shot and not the contents of the component. I looked into the System.out.println but
 not sure how to reroute the standard output stream. If possible?

 Thanks

 Benny
0
Comment
Question by:bcsystem
  • 4
  • 4
8 Comments
 

Accepted Solution

by:
ammorris earned 100 total points
ID: 1233074
Using the PrintJob class a good way to print.  If you don't want your printout to look the same as your component, you can do this with your paint() method:

if (g instanceof PrintGraphics) // this is the interface given for printAll calls
{
   // do printout how you want it, use normal graphics calls like    // drawString(), etc.
}
else
{
   // your normal paint or super.paint(g)
}

Just get a PrintJob object from the Toolkit, do a printAll, and dispose of the Graphics object.  It should do the special printing you want.
0
 

Author Comment

by:bcsystem
ID: 1233075
Can you give me an example of how I would print text from within a textarea class to a print?

Thanks
0
 

Expert Comment

by:ammorris
ID: 1233076
Read the text line by line from the text area and drawString() it on the Graphics object.  Or you might be able to call textArea.paint(g).
0
 

Author Comment

by:bcsystem
ID: 1233077
Below is a sample bit of code I have..

void print_Clicked(Event event) {

      PrintJob pjob = getToolkit().getPrintJob(this,"Printing Test", null);

    if (pjob != null)
    {          
      Graphics pg = pjob.getGraphics();

      if (pg != null)
      {
        String tempx = codeTextBox.getText();
        pg.drawString(tempx,0,0);
       
        pg.dispose(); // flush page
      }
                 
    pjob.end();
      }
    }

The program GPFs when it hits the drawString method.  Is it Visual Cafe 1.1 bug?

Thanks
0
Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

 

Expert Comment

by:ammorris
ID: 1233078
I don't know... that should work, it's the way my co-worker and I did it.  I have never used Visual Cafe, so I don't know.  The way I was suggesting was to put that drawString call in your paint method, calling it only if the graphics object implemented the PrintGraphics interface.

Java programs should never GPF, is that right?
0
 

Author Comment

by:bcsystem
ID: 1233079
This is what I get below..I get the windows GPF box and when I click on details..it shows

JAVA caused an invalid page fault in
module WINAWT.DLL at 0137:1000c8c4.
Registers:
EAX=00000000 CS=0137 EIP=1000c8c4 EFLGS=00010202
EBX=00e7af88 SS=013f ESP=020afd2c EBP=020afd38
ECX=ffffff4c DS=013f ESI=00e83a10 FS=39d7
EDX=00000000 ES=013f EDI=007a3370 GS=0000
Bytes at CS:EIP:
8b 08 8b 51 14 8b 1a 8b 4b 08 85 c9 74 1b 8b 4d
Stack dump:
020afd74 020afd70 00000000 020afee0 1001d30d 00e7af88 00e83a10 00000000 00000000 00e7af88 00e7ac40 21c87727 020afd70 020afee0 01f6d360 007a2920
0
 

Expert Comment

by:ammorris
ID: 1233080
Sounds like a bug.  It works with Sun's VM.

0
 

Author Comment

by:bcsystem
ID: 1233081
I still continue to have problems with printing.  I'm trying to determine if this is a Visual Cafe problem or Sun VM.  Does anyone have a simple print application that I can compile and test with JDK 1.1?
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

Suggested Solutions

For customizing the look of your lightweight component and making it look opaque like it was made of plastic.  This tip assumes your component to be of rectangular shape and completely opaque.   (CODE)
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
Viewers learn about the “while” loop and how to utilize it correctly in Java. Additionally, viewers begin exploring how to include conditional statements within a while loop and avoid an endless loop. Define While Loop: Basic Example: Explanatio…
Viewers will learn about arithmetic and Boolean expressions in Java and the logical operators used to create Boolean expressions. We will cover the symbols used for arithmetic expressions and define each logical operator and how to use them in Boole…

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now