Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 583313
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T14:46:45+00:00 2026-05-13T14:46:45+00:00

I want to display a JTable that display the data from a DataBase table

  • 0

I want to display a JTable that display the data from a DataBase table as it is.

Up till now, I have used JTable that displays data from Object [ ][ ].

I know one way to display the data is to first convert the database table into Object [ ][ ] but Is there any other which is easy yet more powerful and flexible.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-13T14:46:45+00:00Added an answer on May 13, 2026 at 2:46 pm

    I would recommend taking the following approach:

    • Create a Row class to represent a row read from your ResultSet. This could be a simple wrapper around an Object[].
    • Create a List<Row> collection, and subclass AbstractTableModel to be backed by this collection.
    • Use a SwingWorker to populate your List<Row> by reading from the underlying ResultSet on a background thread (i.e. within the doInBackground() method). Call SwingWorker‘s publish method to publish Rows back to the Event Dispatch thread (e.g. every 100 rows).
    • When the SwingWorker‘s process method is called with the latest chunk of Rows read, add them to your List<Row> and fire appropriate TableEvents to cause the display to update.
    • Also, use the ResultSetMetaData to determine the Class of each column within the TableModel definition. This will cause them to be rendered correctly (which won’t be the case if you simply use a 2D Object[][] array).

    The advantage of this approach is that the UI will not lock up when processing large ResultSets, and that the display will update incrementally as results are processed.

    EDIT

    Added example code below:

    /**
     * Simple wrapper around Object[] representing a row from the ResultSet.
     */
    private class Row {
      private final Object[] values;
    
      public Row(Object[] values) {
        this.values = values;
      }
    
      public int getSize() {
        return values.length;
      }
    
      public Object getValue(int i) {
        return values[i];
      }
    }
    
    // TableModel implementation that will be populated by SwingWorker.
    public class ResultSetTableModel extends AbstractTableModel {
      private final ResultSetMetaData rsmd;
      private final List<Row> rows;
    
      public ResultSetTableModel(ResultSetMetaData rsmd) {
        this.rsmd = rsmd;
        this.rows = new ArrayList<Row>();
      }
    
      public int getRowCount() {
        return rows.size();
      }
    
      public int getColumnCount() {
        return rsmd.getColumnCount();
      }
    
      public Object getValue(int row, int column) {
        return rows.get(row).getValue(column);
      }
    
      public String getColumnName(int col) {
        return rsmd.getColumnName(col - 1); // ResultSetMetaData columns indexed from 1, not 0.
      }
    
      public Class<?> getColumnClass(int col) {
        // TODO: Convert SQL type (int) returned by ResultSetMetaData.getType(col) to Java Class.
      }
    }
    
    // SwingWorker implementation
    new SwingWorker<Void, Row>() {
      public Void doInBackground() {
        // TODO: Process ResultSet and create Rows.  Call publish() for every N rows created.
      }
    
      protected void process(Row... chunks) {
        // TODO: Add to ResultSetTableModel List and fire TableEvent.
      }
    }.execute();
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 397k
  • Answers 397k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer The EF generates these as partial methods, so they're not… May 15, 2026 at 3:14 am
  • Editorial Team
    Editorial Team added an answer You can just have one site do an http post… May 15, 2026 at 3:14 am
  • Editorial Team
    Editorial Team added an answer You can mix hash and array conditions using scopes: hash_conditions… May 15, 2026 at 3:14 am

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.