File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Swing / AWT / SWT and the fly likes JScollPane, JtextArea, Opaque Question Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Swing / AWT / SWT
Bookmark "JScollPane, JtextArea, Opaque Question" Watch "JScollPane, JtextArea, Opaque Question" New topic

JScollPane, JtextArea, Opaque Question

J Botac

Joined: Nov 19, 2003
Posts: 3
I have seen this issue questioned a few times of different boards, but never seen and answer.
Senario: Frame - Panel - BoxLayout - JscrollPane - JtextArea.
Everything but the frame has obj.setOpaque(false); All other items work correctly and allow the background of the Frame to be seen under any and all objects, except the JScollPane/JtextArea.
Is there a way to 'force' [sic] the JScrollPane and/or the JTextArea to actually perform as the setOpaque(false) should normally? Or is this some 'attribute'/bug of JScrollPane/JtextArea?
I figure it's the JScrollPane because I can manipulate the JTextArea as I choose. But otherwise the JScrollPane (and the JTextArea when Opaque is set to false) show the default gray color and not the Frame background color as specified.
And clues would be helpful.
Nathan Pruett

Joined: Oct 18, 2000
Posts: 4121

Actually, you've got most of the solution already. The only thing you're missing is that JScrollPane actually has a hidden component - the JViewport. So you have to set both the JScrollPane *and* it's JViewport to not be opaque.

In the following example the background of the JFrame's content pane is set to green and every component in it has setOpaque( false ) called on it so you end up with a scrollable green JTextArea -

Write once, run anywhere, because there's nowhere to hide! - /. A.C.
I agree. Here's the link:
subject: JScollPane, JtextArea, Opaque Question
jQuery in Action, 3rd edition