MultiColumnTextListTest
Introduction
This Test opens up a MultiColumnTextList in a window. It also runs some unit tests and prints
the output to the Java console. To test this applet, try the following steps. Please note there
are a few known platform specific bugs listed later on this document. There is some flashing right
when you start up, that is the unit test MCTL running and closing itself. Check out the Java
Console for the Unit test results.
- The rows alternate background colors to ease viewing.
- Click on a row and it will select it in yellow. That row will remain selected during sorting.
- Click on a column heading and it will sort by that heading. (and show an arrow if space for it)
- Click again on that same column and it will reverse the sorting
- If you move your mouse into the IconList frame, the background darkens and it enters "frozen"
mode.
- If you leave your mouse still for 5 seconds, the IconList "thaws" and updates until you move
your mouse again. The background color will change to thawed mode.
- Try resizing the window and observing the effect on the MultiColumnTextList.
- Any extra width in the viewport (beyond the minimum table width) gets divided among all
the columns.
- If you shorten the window vertically below the height of the rows, a vertical
scrollbar appears. The header row will still line up properly.
- If you squeeze the window horizontally smaller than the cumulative MINIMUM width setting of
all the columns, then a horizontal scrollbar appears. When you scroll this bar, the header
row also scrolls horizontally appropriately. (note: when using JVM 1.1, the header text
jumps a bit while scrolling. See the known problems below.)
- If you resize so that both scrollbars are showing, it should also work as expected, except:
note: when both scrollbars visible and move horizontal all the way right, the header row
columns no longer line up with the body columns. See known problems.
Known issues:
Specific to MCTL:
- On all: When resizing the window smaller, it is registered as a freeze, so background
changes color. I came up with a fix for this, but it was a bit of a hack and
caused many problems on the Apple platform, so I removed the fix. This freezing
effect on window resize shouldn't cause any problem, but it is distracting.
- On MS 1.1.4 JVM: Sorting doesn't redraw the rows properly
- On MS 1.1.4 JVM: Can't unfreeze properly.
- On Apple 1.3 JVM: The heading row size is too large.
- On Apple 1.4 JVM: Occasionally when clicking column heading back and forth, it registers a click
to sort, but doesn't change the arrow on the TextRowHeader.
- On Apple 1.3 JVM: (Obscure)Scroll to a point, freeze then unfreeze panel, dolayout is called,
sends bodyPanel back to 0,0. Then when click scrollbar again, bodyPanel
scrolls back to correct spot.
Known issues in all of our code:
- On Apple 1.4 JVM: (Known Mac problem) Cannot resize window below initial size.
- On Apple 1.4 JVM: (Known Mac problem) you have to click inside the window before it will register MouseEvents.
(ie: before any freezing).