Centering Text in a TextArea

Hi Experts !!

I got an Applet with a BorderLayout which as a TextArea added to CENTER region. I wanna center text which is placed in the TextArea.

Could this be done ?? I tried to FontMetrics & used stringWidth() method to obtain the width of the string & performed a simple calculation to get the center of the TextArea but, it failed.

I'm using an AWT TextArea.

ThankX.
--Din--

dinethAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
objectsConnect With a Mentor Commented:
Don't think that can be achieved.
0
 
heyhey_Commented:
you have to implement your own widget (or use some ready-made)
0
 
sunilvirusCommented:
I don't know if u can do it in a text filed.
But u can surely do it in an applet.

There is a good book on JAVA applets for startups.
The title is "JAVA Complete Reference".

I have faced this problem before with an applet.
There is a good description of how to center text in an applet.
Try to get access to that book.


ps:i think you can do it in JTextArea
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
yasser_helmyCommented:
I dont think that can be done. I reviewed the textarea api to do this, but there were no clues. Maybe you can make some method that gives this appearance to the textarea.
I will try to write some code and send you the results.
0
 
allieCommented:
Well... I don't know of any attributes you can set in a JTextArea to center text.  But you've got a couple of options.  You can either try to do something with a JTextField and call setHorizontalAlignment(JTextField.CENTER_ALIGNMENT), or you can insert text into the JTextArea with HTML.  If you use HTML, it'd look like this -

myTextArea.setText("<HTML><CENTER>Here is my text.</CENTER></HTML>");

I'll see if I can find anything else though.  Good luck!

allie
0
 
allieCommented:
OK, the only other thing I found also used FontMetrics, but didn't have anything about stringWidth(), so maybe this is a better way.  Check out the following web site - it explains how to use FontMetrics to center text:

http://leepoint.net/notes/javanotes/30GUI/60fonts/18font.html

(By the way, the parent site is EXTREMEMLY useful.  URL is http://leepoint.net/notes/javanotes/)

Good luck!

allie


0
 
dinethAuthor Commented:
Thanks guys !! thanks a lot !!
thanks for the link Allie.

--Din--
0
 
allieCommented:
You're welcome!  I take it the code at the link worked then?

allie
0
 
objectsCommented:
Not sure exactly how FontMetrics can help you.
Isn't the actual painting of the text handled by the peer?
0
 
Igor BazarnyCommented:
Hi,

If you want to use TextArea, you have 2 options:
- Put TextArea into Panel and let panel center TextArea (by default, TextArea.getPreferredSize() returns text width, and Panel uses FlowLayout which will center single component)
- Use fixed width font in the TextArea and put spaces around your text to center it.

Regards,
Igor Bazarny,
Brainbench MVP for Java 1
0
 
objectsCommented:
> Put TextArea into Panel and let panel center TextArea

Will that centre align the text?
I would have thought it would just align the component in the middle of the panel.
0
 
Igor BazarnyCommented:
> Will that centre align the text?
> I would have thought it would just align the component in the middle of the panel.

Yes, but text is shown inside that centered component, so visual effect would be left-justified text centered in applet (with TextArea border around)
0
 
girionisCommented:
No comment has been added lately, so it's time to clean up this TA.

I will leave a recommendation in the Cleanup topic area that this question is:

- points to objects

Please leave any comments here within the
next seven days.

PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER !

girionis
Cleanup Volunteer
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.