Re: JTable



Thanks Mike, I use Timer class and it seems to be good.

This is the code:

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Iterator;
import java.util.Vector;

import javax.swing.*;
import javax.swing.border.LineBorder;
import javax.swing.table.*;

import monitoring.SunMonitor;



/**
* @author Regina Carmela Rizzi
*/
public class ResultRealTime extends JFrame{

private static final long serialVersionUID = 1L;



public ResultRealTime(){
initComponents();

}
private JFrame ResultRealTime;
private JPanel panel1;
private JTable systemTable;
private JScrollPane scrollSystemTable;
private JButton home, prev, chiudi;
private JLabel label1;

private void initComponents() {

ResultRealTime = new JFrame();
panel1 = new JPanel();
label1 = new JLabel();
scrollSystemTable = new JScrollPane();
systemTable=new JTable();
home = new JButton();
prev = new JButton();
chiudi = new JButton();

ResultRealTime.setBackground(new Color(51, 204, 255));
ResultRealTime.setTitle("CCFM&C");
ResultRealTime.setSize(750,800);

Container ResultRealTimeContentPane =
ResultRealTime.getContentPane();
ResultRealTimeContentPane.setLayout(new BorderLayout());

panel1.setBackground(new Color(51, 204, 255));

panel1.setLayout(null);

label1.setText("Description of system group");
panel1.add(label1);
label1.setBounds(15, 35, 200, 35);

systemTable.setModel(new DefaultTableModel(
new Object[][] {
},
new String[] {
" sysDescr", " sysObjectID", " sysUpTime", " sysContact", "
sysName", " sysLocation", " sysServices"
}
)
);
systemTable.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
systemTable.setBorder(new LineBorder(Color.black));
scrollSystemTable.setViewportView(systemTable);


panel1.add(scrollSystemTable);
scrollSystemTable.setBounds(15, 75, 600, 75);

home.setText("HOME");
home.setToolTipText("Go to initial screen");
home.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
homeActionPerformed(e);
}
});
panel1.add(home);
home.setBounds(250, 720, 80, 25);

prev.setText("PREV");
prev.setToolTipText("Go to previos screen");
prev.setSelectedIcon(new ImageIcon("C:/Documents and
Settings/Rizzi/Desktop/gif/BACK09.gif"));

prev.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
prevActionPerformed(e);
}
});
panel1.add(prev);
prev.setBounds(150, 720, 80, 25);

chiudi.setText("CLOSE");
chiudi.setToolTipText("Close the application");
chiudi.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
chiudiActionPerformed(e);
}
});
panel1.add(chiudi);
chiudi.setBounds(345, 720, 80, 25);


ResultRealTimeContentPane.add(panel1, BorderLayout.CENTER);
ResultRealTime.setVisible(true);
}
int j=0;
int delay = 5000; //milliseconds
ActionListener taskPerformer = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
String[] system=SunMonitor.getSystemResult();
int cols = systemTable.getModel().getColumnCount();
((DefaultTableModel)systemTable.getModel()).addRow(new
Object[cols]);
for(int i=0; i<7;i++)
systemTable.setValueAt(system[i],j,i);
j++;
}
};
Timer time = new Timer(delay, taskPerformer);
private void homeActionPerformed(ActionEvent e) {
time.start();
}




private void prevActionPerformed(ActionEvent e) {
time.stop();
}

private void chiudiActionPerformed(ActionEvent e) {
System.exit(0);
}

}

Thanks every one!

.