I want to display the JTable each time a row is added.
The code that i write below add a new row to table , then display the jtable for 2 seconds ,then add another row , then di
You're creating a new JTable in each iteration, you don't need to do that. Add the model to the table before the loop. And just add rows to the model in the loop
DefaultTableModel model = new DefaultTableModel(columnNames, 0);
JTable table = new JTable(model);
table.setEnabled(false);
JTableHeader header1 = table.getTableHeader();
header1.setResizingAllowed(false);
header1.setReorderingAllowed(false);
header1.setForeground(Color.white);
header1.setBackground(Color.black);
jpanedisplay.setViewportView(table1);
jpanedisplay.getViewport().setBackground(Color.white);
jpanedisplay.setBorder(BorderFactory.createLineBorder(Color.black));
...
while(rs.next()){
Vector
UPDATE
If you dont want the table added until the database task is finished, just use a method
private JTable createTable(ResultSet rs) {
DefaultTableModel model = new DefaultTableModel(columnNames, 0);
JTable table = new JTable(model);
table.setEnabled(false);
JTableHeader header1 = table.getTableHeader();
header1.setResizingAllowed(false);
header1.setReorderingAllowed(false);
header1.setForeground(Color.white);
header1.setBackground(Color.black);
while(rs.next()){
Vector rowVector = new Vector();
for(int i=1;i<=columnCount;i++){
rowVector.add(rs.getString(i));
}
model.addRow(rowVector);
}
return table;
}
Then you can just add it to what ever panel
panel.add(new JScrollPane(createTable(rs));
UPDATE #2
after Op explained that they were trying to get a dynamic look the rows being added, instead of all at One time.