1

I need to write a data exploration tool that displays large amounts of data in a spreadsheet format.

Salient problem features:

  1. Large number of rows -- typically .5 to 1 million
  2. 30-50 columns
  3. Need to be able to sort on columns
  4. Rapidly apply filters -- say hide all rows that have have foobar in them
  5. Need to be able to lock rows/cols

Thanks.

DForck42
  • 19,789
  • 13
  • 59
  • 84
user975917
  • 305
  • 3
  • 13
  • Have you looked at the libraries suggested at http://stackoverflow.com/questions/2058264/excel-spreadsheet-like-library-in-swing-improved-jtable? – Matt Ball Oct 05 '11 at 15:46
  • 1
    I'm not aware of such a component. However, it is relatively easy to add sorting and filtering using a standard `JTable`. I'm not sure what you mean by locking rows / columns. – Adamski Oct 05 '11 at 15:48

1 Answers1

4

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.

Community
  • 1
  • 1
trashgod
  • 203,806
  • 29
  • 246
  • 1,045