JTable flimre?
Jeg skaber min JTable således med data fra databasen:public void varer()
{
data = new Object[sql.taeller()][4];
panelTekst = new String[4];
panelTekst[0] = "Nr";
panelTekst[1] = "Vare";
panelTekst[2] = "Almindelig";
panelTekst[3] = "Familie";
table = new JTable(data,panelTekst);
if (scrollPane != null)
{
getContentPane().remove(scrollPane);
}
scrollPane = new JScrollPane(table);
scrollPane.revalidate();
scrollPane.setBounds(20,20,500,500);
getContentPane().add(scrollPane);
//table.setEnabled(false);
this.pack();
table.addMouseListener( new MouseAdapter()
{
public void mousePressed(MouseEvent e)
{
int mouseClicked = e.getClickCount();
if (mouseClicked == 1)
{
Object tabelNr = table.getValueAt(table.rowAtPoint(e.getPoint()),0);
try{
ResultSet row = sql.rækkeHent(tabelNr,"varer","nr");
while(row.next())
{
nr.setText(""+row.getInt("nr"));
ialtBetale.setText("");
beregn.setEnabled(true);
rabat.setEditable(true);
kontant.setText("");
tilbage.setText("");
}
}
catch(SQLException s)
{
System.out.println(s);
}
if(kørtBeregning==1)
{
sql.nyStart();
kørtBeregning=0;
bestillingsFelt();
}
}
if(mouseClicked == 2)
{
antal.requestFocus();
}
}
});
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
table.getColumnModel().getColumn(0).setPreferredWidth(40);
table.getColumnModel().getColumn(1).setPreferredWidth(280);
table.getColumnModel().getColumn(2).setPreferredWidth(80);
table.getColumnModel().getColumn(3).setPreferredWidth(80);
table.addFocusListener(this);
try {
ResultSet row = db.select("select*from varer order by nr asc");
for(int i=0;row.next();i++)
{
int ii = 0;
data[i][ii] = row.getObject("nr");
ii++;
data[i][ii] = row.getObject("vare");
ii++;
data[i][ii] = row.getObject("almindelig");
ii++;
data[i][ii] = row.getObject("familie");
ii++;
}
} catch (SQLException e)
{
System.out.println(e);
}
catch(NullPointerException a)
{
System.out.println(a);
}
}
-----------------------------------------------------
Denne opdater jeg så fra en anden frame ved at køre frame.varer() og dette virker også fint, problemet er bare at det får framen til at flimre og det er ikke særlig pænt at kigge på... Jeg ved det er forkert at opdater hele JTable'n , men jeg ved ikke hvordan jeg ellers skal gøre det? Er der en der kan hjælpe mig med at få den flimmer væk?
