dineth
asked on
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--
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--
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
you have to implement your own widget (or use some ready-made)
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
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
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.
I will try to write some code and send you the results.
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(JTe xtField.CE NTER_ALIGN MENT), or you can insert text into the JTextArea with HTML. If you use HTML, it'd look like this -
myTextArea.setText("<HTML> <CENTER>He re is my text.</CENTER></HTML>");
I'll see if I can find anything else though. Good luck!
allie
myTextArea.setText("<HTML>
I'll see if I can find anything else though. Good luck!
allie
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
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
ASKER
Thanks guys !! thanks a lot !!
thanks for the link Allie.
--Din--
thanks for the link Allie.
--Din--
You're welcome! I take it the code at the link worked then?
allie
allie
Not sure exactly how FontMetrics can help you.
Isn't the actual painting of the text handled by the peer?
Isn't the actual painting of the text handled by the peer?
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
If you want to use TextArea, you have 2 options:
- Put TextArea into Panel and let panel center TextArea (by default, TextArea.getPreferredSize(
- Use fixed width font in the TextArea and put spaces around your text to center it.
Regards,
Igor Bazarny,
Brainbench MVP for Java 1
> 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.
Will that centre align the text?
I would have thought it would just align the component in the middle of the panel.
> 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)
> 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)
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
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