如何定时刷新java代码 java线程定时刷新

Java如何实现自动刷新

while (rs.next()) {

创新互联专注于企业全网营销推广、网站重做改版、温泉网站定制设计、自适应品牌网站建设、H5页面制作商城网站建设、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为温泉等各大城市提供网站开发制作服务。

rowData[i][0] = rs.getString("exam_No");

rowData[i][1] = rs.getString("student_ID");

rowData[i][2] = rs.getString("student_Name");

rowData[i][3] = rs.getString("class_NO");

rowData[i][4] = rs.getString("course_Name");

rowData[i][5] = rs.getString("result");

i++;

}

//在此处添加如下代码:

xxxxxxxxxxxx_model.fireTableDataChanged();

//或:

table.setModel(new XxxxxxxxxxTableModel(rowData,.......));

解决方法1:

如果你的表格模型扩展自AbstractTableModel,

表格数据改变后,则调用模型的fireTableDataChanged()方法;

解决方法2:

重新设置表格模型.

例如:

table.setModel(new DefaultTableModel(data,columnNames));

下面是我写的一个上例子.

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.table.*;

public class JTableTest

{

public static void main(String args[])

{

JTableTestFrame f=new JTableTestFrame();

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

class JTableTestFrame extends JFrame

{

private JTable table=null;

private ArrayTableModel atm=null;

private JButton reload=null;

private final static String[] columnNames={"Number","addend","augend","sum"};

private int start=0;

public JTableTestFrame()

{

atm=new ArrayTableModel(columnNames);

table=new JTable(atm);

reload=new JButton("Reload");

reload.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

reload();

}

});

JPanel p=new JPanel(new BorderLayout());

p.add(new JLabel("JTable Test"),BorderLayout.NORTH);

p.add(new JScrollPane(table),BorderLayout.CENTER);

p.add(reload,BorderLayout.SOUTH);

this.add(p);

this.setSize(300,300);

this.setVisible(true);

}

public void reload()

{

int rows=10;

int cols=columnNames.length;

Object[][] data=new Object[rows][cols];

for(int i=0;irows;i++)

{

start+=i;

data[i][0]=start;

data[i][1]=start+1;

data[i][2]=start+2;

data[i][3]=start*2+3;

}

atm.setData(data);

atm.fireTableDataChanged();

}

}

class ArrayTableModel extends AbstractTableModel

{

private String[] columnNames=null;

private Object[][] data=null;

public ArrayTableModel(String[] columnNames)

{

this.columnNames=columnNames;

this.data=new Object[1][columnNames.length];

}

public ArrayTableModel(Object[][] data,String[] columnNames)

{

this.data=data;

this.columnNames=columnNames;

}

public Object getValueAt(int r,int c)

{

return this.data[r][c];

}

public int getRowCount()

{

return this.data.length;

}

public int getColumnCount()

{

return this.columnNames.length;

}

public String[] getColumnNames() {

return columnNames;

}

public String getColumnName(int c)

{

return this.columnNames[c].toString();

}

public void setColumnNames(String[] columnNames) {

this.columnNames = columnNames;

}

public Object[][] getData() {

return data;

}

public void setData(Object[][] data) {

this.data = data;

}

}

怎么用Java实现定时执行某程序

java中设置定时任务用Timer类可以实现。

一、延时执行

首先,我们定义一个类,给它取个名字叫TimeTask,我们的定时任务,就在这个类的main函数里执行。代码如下:

package test;

import java.util.Timer;

public class TimeTask {

public static void main(String[] args){

Timer timer = new Timer();

timer.schedule(new Task(), 60 * 1000);

}

}

解释一下上面的代码。

上面的代码实现了这样一个功能,当TimeTask程序启动以后,过一分钟后执行某项任务。很简单吧:先new一个Timer对象,然后调用它的schedule方法,这个方法有四个重载的方法,这里我们用其中一个,

public void schedule(TimerTask task,long delay)

首先,第一个参数

第一个参数就是我们要执行的任务。

这是一个TimerTask对象,确切点说是一个实现TimerTask的类的对象,因为TimerTask是个抽象类。上面的代码里面,Task就是我们自己定义的实现了TimerTask的类,因为是在同一个包里面,所以没有显性的import进来。Task类的代码如下

package test;

import java.util.TimerTask;

public class Task extends TimerTask {

public void run(){

System.out.println("定时任务执行");

}

}

我们的Task必须实现TimerTask的方法run,要执行的任务就在这个run方法里面,这里,我们只让它往控制台打一行字。

第二个参数

第二个参数是一个long型的值。这是延迟的时间,就是从程序开始以后,再过多少时间来执行定时任务。这个long型的值是毫秒数,所以前面我们的程序里面,过一分钟后执行用的参数值就是 60 * 1000。

二、循环执行

设置定时任务的时候,往往我们需要重复的执行这样任务,每隔一段时间执行一次,而上面的方法是只执行一次的,这样就用到了schedule方法的是另一个重载函数

public void schedule(TimerTask task,long delay,long period)

前两个参数就不用说什么了,最后一个参数就是间隔的时间,又是个long型的毫秒数(看来java里涉及到时间的,跟这个long是脱不了干系了),比如我们希望上面的任务从第一次执行后,每个一分钟执行一次,第三个参数值赋60 * 1000就ok了。

三、指定执行时间

既然号称是定时任务,我们肯定希望由我们来指定任务指定的时间,显然上面的方法就不中用了,因为我们不知道程序什么时间开始运行,就没办法确定需要延时多少。没关系,schedule四个重载的方法还没用完呢。用下面这个就OK了:

public void schedule(TimerTask task,Date time)

比如,我们希望定时任务2006年7月2日0时0分执行,只要给第二个参数传一个时间设置为2006年7月2日0时0分的Date对象就可以了。

有一种情况是,可能我们的程序启动的时候,已经是2006年7月3日了,这样的话,程序一启动,定时任务就开始执行了。

schedule最后一个重载的方法是

public void schedule(TimerTask task,Date firstTime,long period)

js嵌套java代码后,如何让java代码获取的值时时刻刻进行刷新

%%只在页面初始化时调用,想要改变%%里的值刷新页面

不想刷新页面的话,用js变量,连接后台用ajax

java定时器每天晚上23:00开始刷新数据怎么写

public static void timer4() {

Calendar calendar = Calendar.getInstance();

calendar.set(Calendar.HOUR_OF_DAY, 23); // 控制时

calendar.set(Calendar.MINUTE, 0);    // 控制分

calendar.set(Calendar.SECOND, 0);    // 控制秒

Date time = calendar.getTime();     // 得出执行任务的时间,此处为今天的23:00:00

Timer timer = new Timer();

timer.scheduleAtFixedRate(new TimerTask() {

public void run() {

System.out.println("-------设定要指定任务--------");

}

}, time, 1000 * 60 * 60 * 24);// 这里设定将延时每天固定执行

}


本文标题:如何定时刷新java代码 java线程定时刷新
分享路径:http://bzwzjz.com/article/ddososo.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站建设 网站建设方案 网站设计 重庆企业网站建设 成都网站建设公司 重庆电商网站建设 H5网站制作 温江网站设计 成都品牌网站建设 成都网站设计 做网站设计 成都商城网站建设 成都网站建设 手机网站建设 成都网站制作 移动网站建设 网站建设公司 成都网站建设 手机网站制作 成都企业网站设计 网站建设方案 自适应网站设计