Re: JTable, JScrollPane & horizontal scroll bars - why?



Rich Sweeny wrote:

A. W. Dunstan wrote:
I need to display a JTable. In this case the width of each cell in the
last column varies - it's a collection of text & color swatches,
represented by JLabels and JPanels stuffed into a containing JPanel.

I can get a vertical scroll bar to appear by putting enough entries in
the table, but no matter what the width of my columns it never puts in a
horizontal scroll bar. Yes, I can force one by setting AUTO_RESIZE_OFF
but then I *always* get a horizontal scrollbar, even when I don't need
one. Also, the table always starts out much too narrow to display the
entire
line, scroll bar or not. I'd really like to get either a scroll bar, or
for the table to resize wide enough to show the longest line.

The least-worst solution I've found so far is to force a scroll bar and
add a ComponentListener to listen for changes in the size of the
JComponent containing the JScrollPane, and resize the width of the last
column accordingly.

Is there a better way of doing horizontal scroll bars in a JTable?



There are 3 constants:
HORIZONTAL_SCROLLBAR_NEVER
HORIZONTAL_SCROLLBAR_AS_NEEDED
HORIZONTAL_SCROLLBAR_ALWAYS
or
VERTICAL_SCROLLBAR_NEVER
VERTICAL_SCROLLBAR_AS_NEEDED
VERTICAL_SCROLLBAR_ALWAYS

Example: This will always give you a vertical and never a horizontal:

JScrollPane scroll = new JScrollPane(table,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);

Rich

The defaults for JScrollPane(Component) are *_SCROLLBAR_AS_NEEDED.  I needed
one, but never got one.

--
Al Dunstan, Software Engineer
OptiMetrics, Inc.
3115 Professional Drive
Ann Arbor, MI 48104-5131
.



Relevant Pages

  • Re: St. Louis Arcade Pics and Website
    ... You may want to change the table-based layout just a little. ... even someone with a 1024 will see the horizontal scroll bar. ... tournements. ...
    (rec.games.pinball)
  • JTable, JScrollPane & horizontal scroll bars - why?
    ... I need to display a JTable. ... I can get a vertical scroll bar to appear by putting enough entries in the ... for the table to resize wide enough to show the longest line. ... Is there a better way of doing horizontal scroll bars in a JTable? ...
    (comp.lang.java.gui)
  • Re: JTable, JScrollPane & horizontal scroll bars - why?
    ... I can get a vertical scroll bar to appear by putting enough entries in the ... for the table to resize wide enough to show the longest line. ... Is there a better way of doing horizontal scroll bars in a JTable? ... JScrollPane scroll = new JScrollPane(table, ...
    (comp.lang.java.gui)
  • Re: Xananews message tree problem
    ... acquired a horizontal scroll bar, which is causing the trouble, as ... when I try and move the columns left the horizontal scroll bar moves ...
    (news.software.readers)
  • Re: Xananews message tree problem
    ... Just place the cursor above the column divider between two columns. ... Just realised that my vertical scroll bar has gone awol and that I have ... when I try and move the columns left the horizontal scroll bar moves ...
    (news.software.readers)