Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.gui > #211
| From | "Jeff" <jeff@THRWHITE.remove-dii-this> |
|---|---|
| Subject | Re: Problem - cannot disp |
| Message-ID | <1164684060.416689.67220@45g2000cws.googlegroups.com> (permalink) |
| Newsgroups | comp.lang.java.gui |
| References | <1164633179.048475.310460@j44g2000cwa.googlegroups.com> |
| Date | 2011-04-27 15:26 +0000 |
| Organization | TDS.net |
To: comp.lang.java.gui
dtsignopoulos@gmail.com wrote:
> There seems to be a problem with processing and inserting large (>2000)
> amounts of data into jtable.
>
> I read single rows from a database, do some processing and use
> insertrow() to feed them to jtable. They get to be displayed (UI) as
> soon ALL rows are done and over with, whereas the desired functionality
> is to be displayed as soon as they are entered (row by row).
>
> Need help as this is turning up to take too much time to figure out.
> Have tried several approaches with no luck.
>
> Some code is listed below:
>
> // Create staff
> DefaultTableModel model_matrix = new DefaultTableModel();
> JScrollPane jScrollPane_matrix = new JScrollPane();
> JTable jTable_matrix = new JTable(model_matrix) {
> public boolean isCellEditable(int rowIndex, int vColIndex) {
> return false;
> }
>
> // Add some columns
> model_matrix.addColumn("Timestamp");
> model_matrix.addColumn("hpic");
>
> //Insert rows
> while (more db rows...){
> read row...
> process row...
> //insert row
> i = model_matrix.getRowCount();
> model_matrix.insertRow(i, new Object[] {timestamp, HPIC});
> model_matrix.fireTableRowsInserted(i,i); setSelectedRow(i);
>
> }
>
> Need help, thanxs
Back to the original question.....(multi posting is a problem, deserves
a mention, but should not be the only response to the question...)
A couple ideas.
The problem of taking too much time to load can be shortened by
limiting the number of rows loaded. You have a table model that is
loading far more data than will be displayed. With a little coding you
can load a limited subset, sliding that subset along depending on the
user needs.
Alternative - fool the user. You probably display about 20 rows. Load
50 into the tablemodel and display. In the meantime load the 2000 into
a second table model, then switch table models. A kludge, certainly,
but it gives the user something to look at while you load the remainder.
---
* Synchronet * The Whitehouse BBS --- whitehouse.hulds.com --- check it out free usenet!
--- Synchronet 3.15a-Win32 NewsLink 1.92
Time Warp of the Future BBS - telnet://time.synchro.net:24
Back to comp.lang.java.gui | Previous | Next — Previous in thread | Next in thread | Find similar
Problem - cannot display "dtsignopoulos" <dtsignopoulos@THRWHITE.remove-dii-this> - 2011-04-27 15:26 +0000
Re: Problem - cannot disp "Andrew Thompson" <andrew.thompson@THRWHITE.remove-dii-this> - 2011-04-27 15:26 +0000
Re: Problem - cannot disp "dtsignopoulos" <dtsignopoulos@THRWHITE.remove-dii-this> - 2011-04-27 15:26 +0000
Re: Problem - cannot disp "Jeff" <jeff@THRWHITE.remove-dii-this> - 2011-04-27 15:26 +0000
Re: Problem - cannot disp "Andrew Thompson" <andrew.thompson@THRWHITE.remove-dii-this> - 2011-04-27 15:26 +0000
Re: Problem - cannot disp "Andrew Thompson" <andrew.thompson@THRWHITE.remove-dii-this> - 2011-04-27 15:26 +0000
Re: Problem - cannot disp "dtsignopoulos" <dtsignopoulos@THRWHITE.remove-dii-this> - 2011-04-27 15:26 +0000
Re: Problem - cannot disp "Andrew Thompson" <andrew.thompson@THRWHITE.remove-dii-this> - 2011-04-27 15:26 +0000
csiph-web