Printing in Java Application

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
bcsystemAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

ammorrisCommented:
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

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
bcsystemAuthor Commented:
Can you give me an example of how I would print text from within a textarea class to a print?

Thanks
0
ammorrisCommented:
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
C++ 11 Fundamentals

This course will introduce you to C++ 11 and teach you about syntax fundamentals.

bcsystemAuthor Commented:
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
ammorrisCommented:
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
bcsystemAuthor Commented:
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
ammorrisCommented:
Sounds like a bug.  It works with Sun's VM.

0
bcsystemAuthor Commented:
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
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Java

From novice to tech pro — start learning today.