重新创建表java问题
每次调用重新创建表java问题,java,swing,jtable,Java,Swing,Jtable,每次调用please()时,我都无法重新填充我的表 它不断地添加到现有的行中,这不是我想要的 我想从我的model2重新填充表基。每次调用please()时,是否有人可以帮助我重新创建表。我的错误是调用model2.addRow(请) import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.text.DateFormat; import java.text.ParseExceptio
please()
时,我都无法重新填充我的表
它不断地添加到现有的行中,这不是我想要的
我想从我的model2
重新填充表基。每次调用please()
时,是否有人可以帮助我重新创建表。我的错误是调用model2.addRow(请)
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();
}
});
}
}
导入java.awt.event.ActionEvent;
导入java.awt.event.ActionListener;
导入java.text.DateFormat;
导入java.text.ParseException;
导入java.text.simpleDataFormat;
导入java.util.Calendar;
导入java.util.Date;
导入java.util.GregorianCalendar;
导入java.util.TimeZone;
导入java.util.Vector;
导入javax.swing.JFrame;
导入javax.swing.JScrollPane;
导入javax.swing.JTable;
导入javax.swing.SwingUtilities;
导入javax.swing.Timer;
导入javax.swing.table.DefaultTableModel;
导入javax.swing.table.TableModel;
公共类TableTimeChange{
字符串rowdata[]=新字符串[8];
日期[]日期123=新日期[8];
日期[]日期1234=新日期[8];
字符串[]ddd=新字符串[8];
静态日历时间1=Calendar.getInstance();
静态日历时间2=Calendar.getInstance();
日历时间3[]=新日历[8];
Calendar cal8=Calendar.getInstance();
日期=新日期();
DefaultTableModel2=新的DefaultTableModel();
静态整数计数=0;
静态布尔状态=真;
私有SimpleDataFormat格式=新SimpleDataFormat(“HH:mm:ss”);
私有JTable表=新JTable(getTableModel());
公共表时间更改(){
table.setPreferredScrollableViewportSize(table.getPreferredSize());
JFrame=新JFrame();
frame.add(新的JScrollPane(表));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
Timer Timer=新定时器(1000,new TimerListener());
timer.start();
frame.setVisible(true);
日历cal1=新的GregorianCalendar();
计算1.添加(日历秒,5);
date=cal1.getTime();
计算8.设定时间(日期);
}
私有TableModel getTableModel(){
字符串[]cols={“Time”,“Is Seconds偶数”,“tttt”};
对象[][]数据={{getNewRow()},{getNewRow()}};
DefaultTableModel=新的DefaultTableModel(数据,cols);
收益模型;
}
私有字符串getFormatDate(日期){
返回格式。格式(日期);
}
私有对象[]getNewRow(){
Calendar cal=Calendar.getInstance();
int seconds=cal.get(Calendar.SECOND);
布尔值IsSecond偶数=(秒%2==0);
返回新对象[]{getFormatDate(cal.getTime()),isSecondsEven};
}
公共空间请(){
while(state==true){
System.out.println(model2.getRowCount());
Calendar cal=新的Gregorianalendar();
cal.add(日历小时/天,-5);
日历cal2=新的GregorianCalendar();
计算2.添加(日历小时/天,7);
Date date2=cal.getTime();
Date date3=cal2.getTime();
Date date1=新日期();
SimpleDataFormat格式=新的SimpleDataFormat(“hh:mm:ss a”);
日期d1[]=新日期[8];
DateFormat sdf=新的简化格式(“MM-dd-yyyy-hh:MM:ss a”);
DateFormat sdf2=新的SimpleDataFormat(“hh:mm:ss a”);
String rod=sdf2.format(日期2);
字符串rod1=sdf2.format(日期3);
Calendar time1=Calendar.getInstance();
Calendar time2=Calendar.getInstance();
试一试{
time1.setTime(sdf2.parse(rod));
time2.setTime(sdf2.parse(rod1));
time1.setTimeZone(TimeZone.getTimeZone(“MDT”));
time2.setTimeZone(TimeZone.getTimeZone(“MDT”));
}捕获(解析异常e2){
//TODO自动生成的捕捉块
e2.printStackTrace();
}
向量请=新向量();
对于(int i=0;i<8;i++){
试一试{
d1[i]=sdf.parse(rowdata[i]);
ddd[i]=sdf2.格式(d1[i]);
time3[i]=Calendar.getInstance();
time3[i].setTime(sdf2.parse(ddd[i]);
time3[i].setTimeZone(TimeZone.getTimeZone(“MDT”);
计数++;
if(time3[i]。在(time1)之后和&time3[i]。在(time2)之前){
向量2=新向量();
字符串exp=time3[i].getTime().toString();
Date ddd=time3[i].getTime();
字符串dddd=format.format(ddddd);
请2.添加(dddd);
模型2.添加行(请参见2);
}
}捕获(解析异常e1){
//TODO自动生成的捕捉块
e1.printStackTrace();
}
}
如果(计数=8){
状态=假;
}
}
}
公共空间删除(){
对于(int i=0;ipublic void please() {
String[] cols = {"Time", "Is Seconds Even", "tttt"};
model2 = new DefaultTableModel(cols, 0);
while (state == true) {
//...
}
table.setModel(model2);
}
while (state == true) {
//..
if (count == 8) {
state = false;
}
}
while (count < 9) {
//..
}
public void remove() {
for (int i = 0; i < model2.getRowCount(); i++) {
model2.removeRow(i);
}
}
public void remove() {
while (model2.getRowCount() > 0) {
model2.removeRow(0);
}
}