Refresh data in JTable

I need to refresh data from a database being displayed in a JTable every so many seconds. The JTable is in a JInternalFrame added to a JDesktopPane.

Runnable runner =new Runnable(){

publicvoid run(){

String title = ("Operation Alerts");

JFrame frame =new JFrame(title);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setExtendedState(JFrame.MAXIMIZED_BOTH);

//create desktop

JDesktopPane desktop =new JDesktopPane();

//create table (which is a JInternalFrame)

OpAlertsTable table =new OpAlertsTable(getUser());

//add table to desktop

desktop.add(table);

//pack the table

table.pack();

try{

table.setMaximum(true);

}catch(Exception e){

}

//make table visible

table.setVisible(true);

//add desktop to frame

frame.getContentPane().add(desktop, BorderLayout.CENTER);

frame.setVisible(true);

}

};

EventQueue.invokeLater(runner);

publicclass OpAlertsTableextends JInternalFrame{

private javax.swing.JPanel jContentPane =null;

private JPanel jPanel =null;

private JTable jTable =null;

private JScrollPane jScrollPane =null;

private JLabel txtFleetMgr =null;

private JLabel fleetmgr =null;

private String userid =null;

private String password =null;

private String divcd =null;

private String company=null;

private String usernm =null;

/**

* This is the default constructor

*/

public OpAlertsTable(){

super();

initialize();

}

public OpAlertsTable(String[] args){

super();

setUserid(args[0]);

setPassword(args[1]);

setUsernm(args[2]);

setCompany(args[3]);

setDivcd(args[4]);

initialize();

}

/**

* This method initializes this

*

* @return void

*/

privatevoid initialize(){

this.setSize(300,200);

this.setContentPane(getJContentPane());

}

/**

* This method initializes jContentPane

*

* @return javax.swing.JPanel

*/

private javax.swing.JPanel getJContentPane(){

if(jContentPane ==null){

jContentPane =new javax.swing.JPanel();

jContentPane.setLayout(new java.awt.BorderLayout());

jContentPane.add(getJPanel(), java.awt.BorderLayout.NORTH);

jContentPane.add(getJScrollPane(), java.awt.BorderLayout.CENTER);

}

return jContentPane;

}

/**

* This method initializes jPanel

*

* @return javax.swing.JPanel

*/

private JPanel getJPanel(){

if (jPanel ==null){

txtFleetMgr =new JLabel();

fleetmgr =new JLabel();

jPanel =new JPanel();

txtFleetMgr.setText("Fleet Manager:");

fleetmgr.setText(getUsernm());

jPanel.add(txtFleetMgr,null);

jPanel.add(fleetmgr,null);

}

return jPanel;

}

/**

* This method initializes jTable

*

* @return javax.swing.JTable

*/

private JTable getJTable(){

if (jTable ==null){

OpAlertTableModel tm =new OpAlertTableModel(getDataList());

jTable =new JTable(tm);

TextAndFlag taf =new TextAndFlag();

RedCellRenderer renderer =new RedCellRenderer(taf);

TableColumnModel model = jTable.getColumnModel();

TableColumn column = model.getColumn(2);

column.setCellRenderer(renderer);

column = model.getColumn(11);

column.setCellRenderer(renderer);

column = model.getColumn(12);

column.setCellRenderer(renderer);

column = model.getColumn(13);

column.setCellRenderer(renderer);

column = model.getColumn(14);

column.setCellRenderer(renderer);

}

return jTable;

}

/**

* This method initializes jScrollPane

*

* @return javax.swing.JScrollPane

*/

private JScrollPane getJScrollPane(){

if (jScrollPane ==null){

jScrollPane =new JScrollPane();

jScrollPane.setViewportView(getJTable());

}

return jScrollPane;

}

private ArrayList getDataList(){

ArrayList data =new ArrayList();

Connection con =null;

try{

DriverManager.registerDriver(new com.ibm.as400.access.AS400JDBCDriver());

con = DriverManager.getConnection("jdbc:as400://as1","lewkim","ch3ap3r");//+ getLocalHostName());

}catch(SQLException e){

e.printStackTrace();

}

try{

String select =" select OATRACNUM, OATRACSTAT, OADRVTYPE, OATMINSTAT, OASTATFLAG," +

" OAPRONUM, OACUSTNUM, OACUSTOMER, OAORIGIN, OANUMSTOPS," +

" OASTOPLOC, OADEST, OACURLOC, OAPROX, OAPROXFLAG, " +

" OAETA, OAETAFLAG, OAMILES, OAMILEFLAG, OAREVENUE, OAREVFLAG" +

"from MOTNAT.OP0700F " +

" where OADIV = '" + getDivcd().trim() +"'" +

"and UCASE(OAFLEETMAN) = '" + getUserid().trim().toUpperCase() +"'" +

"and UCASE(OACM) = '" + getCompany().trim().toUpperCase() +"'" +

"and OAALERT = 'Y'";

Statement stmt = con.createStatement();

ResultSet rs = stmt.executeQuery(select);

TextAndFlag tmp;

while (rs.next()){

OpAlert alert =new OpAlert();

alert.setTractor(rs.getString(1));

alert.setStatus(rs.getString(2));

alert.setDriverType(rs.getString(3));

tmp =new TextAndFlag();

tmp.setText(rs.getString(4));

if (rs.getString(5).equals("Y"))

tmp.setFlag(true);

alert.setStatusTm(tmp);

alert.setProNbr(rs.getInt(6));

alert.setCustNbr(rs.getInt(7));

alert.setCustomer(rs.getString(8));

alert.setOrigin(rs.getString(9));

alert.setNbrOfStops(rs.getInt(10));

alert.setNextStop(rs.getString(11));

alert.setDestination(rs.getString(12));

alert.setCurrentLoc(rs.getString(13));

tmp =new TextAndFlag();

tmp.setText(rs.getString(14));

if (rs.getString(15).equals("Y"))

tmp.setFlag(true);

alert.setProximity(tmp);

tmp =new TextAndFlag();

tmp.setText(rs.getString(16));

if (rs.getString(17).equals("Y"))

tmp.setFlag(true);

alert.setEta(tmp);

tmp =new TextAndFlag();

tmp.setText(rs.getString(18));

if (rs.getString(19).equals("Y"))

tmp.setFlag(true);

alert.setMiles(tmp);

tmp =new TextAndFlag();

tmp.setText(rs.getString(20));

if (rs.getString(21).equals("Y"))

tmp.setFlag(true);

alert.setRevenue(tmp);

data.add(alert);

}

rs.close();

stmt.close();

}catch(Exception e){

e.printStackTrace();

System.out.println(e.getMessage());

}

return data;

}

public String getCompany(){return company;}

public String getDivcd(){return divcd;}

public String getPassword(){return password;}

public String getUserid(){return userid;}

public String getUsernm(){return usernm;}

publicvoid setCompany(String company){this.company = company;}

publicvoid setDivcd(String divcd){this.divcd = divcd;}

publicvoid setPassword(String password){this.password = password;}

publicvoid setUserid(String userid){this.userid = userid;}

publicvoid setUsernm(String usernm){this.usernm = usernm;}

}

[13796 byte] By [lewkima] at [2007-11-26 14:43:50]
# 1
Multi-Post: http://forum.java.sun.com/thread.jspa?messageID=9434073No help for you.
es5f2000a at 2007-7-8 8:31:30 > top of Java-index,Desktop,Core GUI APIs...