JAVA------12.app 测试api接口

Posted on 2017-04-15 17:24  奇思妙想的香菜  阅读(336)  评论(0编辑  收藏  举报
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.ScrollPaneConstants;

/**
 * 调用url 解析
 * @author caipei
 *
 */
public class UrlUtil extends JFrame{
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    JTextField tf=null;
    JButton button=null,clear=null;
    JTextArea ta=null;

    public UrlUtil(){
        tf=new JTextField(28);
        button=new JButton("submit");
        clear=new JButton("Clear");
        ta=new JTextArea();
        init();
        button.addActionListener(new MyActionListener());
        clear.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO Auto-generated method stub
                tf.setText("");
                ta.setText("\t\t\tThis TextArea has been Cleared! \n\n\t\t\tYou can begin your next test!");
                tf.grabFocus();
            }
        });
    }

    public static void main(String []args){
        new UrlUtil();
    }

    @SuppressWarnings("deprecation")
    public void init(){
        this.setTitle("Json 字符串获取工具");
        this.setSize(800,450);
        this.setVisible(true);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.setLocationRelativeTo(null);

        JScrollPane js=new JScrollPane(ta);
        js.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);

        JPanel p=new JPanel();
        p.setLayout(new FlowLayout());
        p.add(new JLabel("URL:"));
        p.add(tf);
        p.add(button);
        p.add(clear);
        tf.setFocusable(true);
        button.setNextFocusableComponent(tf);

        this.add(p,BorderLayout.NORTH);
        this.add(js,BorderLayout.CENTER);
    }

    public static String getJsonString(String url){
        String result="";
        URLConnection conn=null;
        BufferedReader reader=null;
        try{
            URL website=new URL(url.trim());
            conn=(URLConnection) website.openConnection();
            reader=new BufferedReader(new InputStreamReader(conn.getInputStream(),"utf-8"));

            String line="";
            StringBuffer sb=new StringBuffer();
            while((line=reader.readLine())!=null){
                sb.append(line);
            }

            result=sb.toString();
        }catch(MalformedURLException urlException){
            result+=urlException.getMessage();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            result+=e.getMessage();
            e.printStackTrace();
        }catch(Exception total){
            result+=total.getMessage();
            total.printStackTrace();
        }finally{
            if(conn!=null){
                conn=null;
            }
            if(reader!=null){
                try {
                    reader.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    result+=e.getMessage();
                    e.printStackTrace();
                }
                reader=null;
            }
        }
        return result;
    }

    class MyActionListener implements ActionListener{

        @Override
        public void actionPerformed(ActionEvent e) {
            // TODO Auto-generated method stub
            String jsonString=getJsonString(tf.getText().trim().toString());
            ta.setText(jsonString);
        }

    }
}