1 package com.down.edu; 2 3 import java.io.BufferedReader; 4 import java.io.InputStream; 5 import java.io.InputStreamReader; 6 import java.net.HttpURLConnection; 7 import java.net.URL; 8 9 public class DOWNDATA {10 public String data="";11 12 public DOWNDATA(String code)13 {14 String Httpurl="http://hq.sinajs.cn/list=sh";15 StringBuffer content=new StringBuffer();16 try{17 URL httpURL=new URL(Httpurl+code);18 HttpURLConnection connection=(HttpURLConnection)httpURL.openConnection();19 connection.connect();20 InputStream is=connection.getInputStream();21 BufferedReader br=new BufferedReader(new InputStreamReader(is));22 String str="";23 while((str=br.readLine())!=null){24 content.append(str);25 }26 27 br.close();28 is.close();29 }catch(Exception e){30 31 }32 String cont=content.toString();33 data=cont.replace("var hq_str_sh"+code+"=/"", "").replace(",00/";", "");34 35 }36 37 }
這部分最主要,但也覺得沒什么好講的,也就一段以逗號隔開的字符,然后把不需要的部分刪掉,最后在界面里呈現~請看:
package com.ui.edu;import com.down.edu.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Vector;import javax.swing.*;import javax.swing.table.DefaultTableModel;import com.down.edu.*;public class UI implements ActionListener { /** * @param 獨孤求敗 * 郵箱hcareking@163.com * 功能:股票離線分析系統 */ JFrame f; JTextField jtf; JTextArea jta; JButton jb; JPanel jp; DefaultTableModel atm = null; Vector vDate = new Vector(); Vector vName = new Vector(); JTable table = null; JScrollPane sPane = null; public static void main(String[] args) { // TODO Auto-generated method stub UI ui = new UI(); } public UI() { // 元素屬性 f = new JFrame("股票離線分析系統"); f.setLayout(new BorderLayout()); jp=new JPanel(); jp.setLayout(new FlowLayout()); jtf = new JTextField(40); jtf.addActionListener(this); vName.add("股票名字"); vName.add("今日開盤價"); vName.add("昨日收盤價"); vName.add("當前價格"); vName.add("今日最高價"); vName.add("今日最低價"); vName.add("競買價"); vName.add("競賣價"); vName.add("成交的股票數/100"); vName.add("成交金額/萬"); atm = new DefaultTableModel(vDate, vName); Object[][] data = {}; table = new JTable(atm); table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);//???? table.setPReferredScrollableViewportSize(new Dimension(600, 80)); Font x = new Font("seril", 0, 12); table.setFont(x); JScrollPane scrollPane = new JScrollPane(table); table.setFillsViewportHeight(true); table.updateUI(); jb = new JButton("提交"); jb.addActionListener(this); // 添加元素 f.getContentPane().add(scrollPane, BorderLayout.CENTER); jp.add(jtf); jp.add(jb); f.add(jp,BorderLayout.NORTH); // 框架設置 f.setSize(1000, 600); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); f.setLocation((int) screenSize.getWidth() / 2 - 500, (int) screenSize.getHeight() / 2 - 300); f.setVisible(true); f.setResizable(false); f.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE); } @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub if (e.getActionCommand().equals("提交")) { System.out.println(jtf.getText()); DOWNDATA downdata=new DOWNDATA(jtf.getText()); addDate(downdata.data); } } public void addDate(String data) { Vector vTmp = new Vector(); String split[]=data.split(","); for(int a=0;a<=9;a++) { System.out.println(split[a]); vTmp.add(split[a]); } vDate.add(vTmp); table.updateUI(); }}總之很簡單的東西了,給初學者一個借鑒吧,然后,萬里長征第一步,I will be stronger~,一切都會好起來的,我不是在妥協生活,而是在等待黎明。

新聞熱點
疑難解答