栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

尝试每x秒执行一次文件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

尝试每x秒执行一次文件

您只有一门课,Learningfromscrach。在其中,您具有主要功能。在主要功能内,您将创建 另一个 Learningfromscrach
实例 ,该 实例 现在传递给计时器,每10秒运行一次。当它在10秒内运行时,它会创建另一个Learningfromscrach实例,依此类推。

您实际上并不需要每10秒重新实施Learningfromscrach。您想要的是每10秒更新一次数据。您应该能够在每10秒运行一次的更新功能上设置计时器。(我现在无法编写代码示例,但请对此进行调查,看看有多深入。)

编辑:我重构了您的项目,消除了未使用的元素,并添加了一些方法和JScrollPane。希望这可以帮助。

import java.awt.*;import java.io.IOException;import java.util.logging.Level;import java.util.logging.Logger;import javax.swing.*;import org.jsoup.Jsoup;import org.jsoup.nodes.document;import org.jsoup.select.Elements;import javax.swing.table.*;import javax.swing.Jframe;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.table.DefaultTableModel;import java.util.Timer;import java.util.TimerTask;import java.awt.Toolkit;import java.awt.BorderLayout;public class Learningfromscrach extends Jframe {    Toolkit toolkit;    Timer timer = new Timer();    DefaultTableModel model;    JTable table;    String url = "http://bmreports.com/bsp/additional/soapfunctions.php?element=SYSPRICE&dT=NRT";    String col[] = {"SBP","SSP","Period"};    JScrollPane scrollPane;    public Learningfromscrach()     //tell java to initiate the create interface    //this is what is passed to the timer every 10 seconds    {        createUserInterface();    }private void createUserInterface()//all the parts to create the userinterface      {//from here    setLayout( new BorderLayout());    setTitle("Cashout Prices");//setTitle is also a JAVA Parameter    setVisible(true);    //makes the java application show    table = CreateTable(url,col);    scrollPane = new JScrollPane(table, ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);    add(scrollPane,BorderLayout.CENTER);    pack();    setSize(getWidth(), 200); //initial size    setDefaultCloseOperation(EXIT_ON_CLOSE);    int delay = 5000; //5 seconds    int period = 5000; //5 seconds    timer.scheduleAtFixedRate(new TimerTask()     {        public void run() { RefreshTable(url, col); System.out.format("Task run..");        }    }, delay, period);}     private Object[][] GetTableInfo(String url){      document doc = null;      try       { doc = Jsoup.connect(url).get();      }       catch (IOException ex)       { Logger.getLogger(Learningfromscrach.class.getName()).log(Level.SEVERE, null, ex);      }      Elements Periodparagraphs; Elements SSPparagraphs;      Elements SBPparagraphs;      Periodparagraphs = doc.select("SP");//counts the number of SSP Paragraphs in the entire document      SSPparagraphs = doc.select("SSP");//counts the number of SSP Paragraphs in the entire document      SBPparagraphs = doc.select("SBP");//counts the number of SBP Paragraphs in the entire document      String[] numbers1;      numbers1 = Periodparagraphs.text().split(" ");      String[] numbers;      numbers = SSPparagraphs.text().split(" ");      String[] numbers0;      numbers0 = SBPparagraphs.text().split(" ");      int tableRows;      if (numbers0.length > numbers.length && numbers0.length > numbers1.length)      {          tableRows = numbers0.length;      }      else if (numbers.length > numbers0.length && numbers.length > numbers1.length)      {          tableRows = numbers.length;      }      else      {          tableRows = numbers1.length;      }      Object[][] data = new String[tableRows][3];//3 is number of columns      for (int x = 0; x < tableRows; x++ )      {          try          {   data[x][0] = numbers1[x];          }          catch (IndexOutOfBoundsException e)          {   data[x][0] = "  ";//error          }          try          {   data[x][1] = numbers[x];          }          catch (IndexOutOfBoundsException e)          {   data[x][1] = "  ";          }          try          {   data[x][2] = numbers0[x];          }          catch (IndexOutOfBoundsException e)          {   data[x][2] = "  ";          }      }    return data;}private JTable CreateTable(String url, String[] cols){    JTable tempTable=new JTable(GetTableInfo(url),col)    {        @Override        public boolean isCellEditable(int arg0, int arg1)         { return false;        }       };    JTableHeader header = tempTable.getTableHeader();    header.setBackground(Color.yellow);    tempTable.setLayout(null);    tempTable.setVisible(true);    return tempTable;}private void RefreshTable(String url, String[] cols){    Object[][] info = GetTableInfo(url);    for (int row = 0; row < info.length; row++)    {        for (int column = 0; column < cols.length; column++)        { table.setValueAt(info[row][column],row, column);        }    }}public static void main(String[] args) throws InterruptedException {    // TODO pre application logic here    // BasicConfigurator.configure();    new Learningfromscrach();    System.out.format("Task scheduled.. Now wait for 5 sec to see next message..%n");}

}



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/515687.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号