Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重新创建表java问题_Java_Swing_Jtable - Fatal编程技术网

重新创建表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);
    }
}