I am having trouble on repopulating my table every time please() gets called.
It keeps adding to the existing rows and that's not what I want.
I want to repopulate the table base off my model2. Can you someone help me on recreating the table every time please() gets called. My error is where the model2.addRow(please) is called...
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.TimeZone;
import java.util.Vector;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.Timer;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
public class TableTimeChange {
String rowdata[] = new String[8];
Date[] date123 = new Date[8];
Date[] date1234 = new Date[8];
String[] ddd = new String[8];
static Calendar time1 = Calendar.getInstance();
static Calendar time2 = Calendar.getInstance();
Calendar time3[] = new Calendar[8];
Calendar cal8 = Calendar.getInstance();
Date date = new Date();
DefaultTableModel model2 = new DefaultTableModel();
static int count = 0;
static boolean state = true;
private SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
private JTable table = new JTable(getTableModel());
public TableTimeChange() {
table.setPreferredScrollableViewportSize(table.getPreferredSize());
JFrame frame = new JFrame();
frame.add(new JScrollPane(table));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
Timer timer = new Timer(1000, new TimerListener());
timer.start();
frame.setVisible(true);
Calendar cal1 = new GregorianCalendar();
cal1.add(Calendar.SECOND, 5);
date = cal1.getTime();
cal8.setTime(date);
}
private TableModel getTableModel() {
String[] cols = {"Time", "Is Seconds Even", "tttt"};
Object[][] data = {{getNewRow()}, {getNewRow()}};
DefaultTableModel model = new DefaultTableModel(data, cols);
return model;
}
private String getFormatDate(Date date) {
return format.format(date);
}
private Object[] getNewRow() {
Calendar cal = Calendar.getInstance();
int seconds = cal.get(Calendar.SECOND);
boolean isSecondsEven = (seconds % 2 == 0);
return new Object[]{getFormatDate(cal.getTime()), isSecondsEven};
}
public void please() {
while (state == true) {
System.out.println(model2.getRowCount());
Calendar cal = new GregorianCalendar();
cal.add(Calendar.HOUR_OF_DAY, - 5);
Calendar cal2 = new GregorianCalendar();
cal2.add(Calendar.HOUR_OF_DAY, 7);
Date date2 = cal.getTime();
Date date3 = cal2.getTime();
Date date1 = new Date();
SimpleDateFormat format = new SimpleDateFormat("hh:mm:ss a");
Date d1[] = new Date[8];
DateFormat sdf = new SimpleDateFormat("MM-dd-yyyy hh:mm:ss a");
DateFormat sdf2 = new SimpleDateFormat("hh:mm:ss a");
String rod = sdf2.format(date2);
String rod1 = sdf2.format(date3);
Calendar time1 = Calendar.getInstance();
Calendar time2 = Calendar.getInstance();
try {
time1.setTime(sdf2.parse(rod));
time2.setTime(sdf2.parse(rod1));
time1.setTimeZone(TimeZone.getTimeZone("MDT"));
time2.setTimeZone(TimeZone.getTimeZone("MDT"));
} catch (ParseException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
Vector<String> please = new Vector<String>();
for (int i = 0; i < 8; i++) {
try {
d1[i] = sdf.parse(rowdata[i]);
ddd[i] = sdf2.format(d1[i]);
time3[i] = Calendar.getInstance();
time3[i].setTime(sdf2.parse(ddd[i]));
time3[i].setTimeZone(TimeZone.getTimeZone("MDT"));
count++;
if (time3[i].after(time1) && time3[i].before(time2)) {
Vector please2 = new Vector();
String exp = time3[i].getTime().toString();
Date ddddd = time3[i].getTime();
String dddd = format.format(ddddd);
please2.add(dddd);
model2.addRow(please2);
}
} catch (ParseException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
if (count == 8) {
state = false;
}
}
}
public void remove() {
for (int i = 0; i < model2.getRowCount(); i++) {
model2.removeRow(i);
}
}
private class TimerListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
DefaultTableModel model = (DefaultTableModel) table.getModel();
model2 = model;
String array1[] = {"08-10-2014 08:26:00 PM", "12-15-2001 10:18:54 PM"};
String array2[] = {"08-19-2014 01:18:27 AM", "01-19-2019 01:28:36 PM"};
String array3[] = {"08-05-2014 05:18:57 PM", "08-25-1989 09:18:27 PM"};
String array4[] = {"08-15-2014 08:23:35 PM", "10-25-1985 06:48:27 AM"};
String array5[] = {"08-10-2014 06:00:00 PM", "05-16-2011 03:29:10 AM"};
String array6[] = {"08-25-2014 09:14:08 PM", "11-22-2010 07:00:56 PM"};
String array7[] = {"08-26-2014 09:09:17 PM", "02-05-1969 01:18:17 AM"};
String array8[] = {"08-19-2014 10:02:15 PM", "12-09-2010 05:09:10 PM"};
String[] p = {"L", "S", "R", "T", "D", "C", "L", "R"};
String[] names = {"john", "doe", "moses", "roddrick", "pgmm", "pop", "Don", "Sandia"};
boolean[] t3;
int count2 = 0;
rowdata[0] = array1[0];
rowdata[1] = array2[0];
rowdata[2] = array3[0];
rowdata[3] = array4[0];
rowdata[4] = array5[0];
rowdata[5] = array6[0];
rowdata[6] = array7[0];
rowdata[7] = array8[0];
please();
Date pop = new Date();
System.out.println(format.format(pop));
System.out.println(format.format(date));
if (format.format(pop).equals(format.format(date))) {
Calendar cal1 = new GregorianCalendar();
cal1.add(Calendar.SECOND, 5);
date = cal1.getTime();
System.out.println("My Lord");
state = true;
count = 0;
remove();
please();
}
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new TableTimeChange();
}
});
}
}