If you find that your large data set is affecting performance too much, you could consider using a paging JTable that holds only enough data to display, and reads on-demand for records outside that...