I need to write a data exploration tool that displays large amounts of data in a spreadsheet format.
Salient problem features:
The real problem is elucidating the poorly defined row count requirement: typically 0.5 to 1 million. Human beings cannot meaningfully browse hundreds of thousand of rows. Instead, consider some domain-compatible way to select a subset suitable for manipulation according to the other requirements 2-5.
Because its renderers implement the flyweight pattern, JTable is already quite efficient, although optimizations are possible. If the data is hierarchical in nature, org.netbeans.swing.outline.Outline, a JTable
subclass examined here, is an appealing alternative.