您的位置:首页 > 移动开发 > 微信开发

python爬虫抓手机号+java客户端小程序2

2016-05-20 10:48 344 查看

介绍

上篇写好了python,这篇就来画界面吧

简单设计一下



我们来用BorderLayout做最外面的布局,BorderLayout.NORTH来做用户操作的地方,BorderLayout.CENTER做数据展示的地方。North这大块里用GridLayout布局,一行两列,然后把这些label啊,TextField啊,Button啊都放到Panel,Panel用Flowlayout。嗯 计划好就敲代码吧。

CatchMobile.java

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

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.WindowConstants;

import test.jython.HiPython;

public class CatchMobile extends JFrame {
private JTextArea jt;
private JTextField pages;

public CatchMobile() {
Toolkit toolkit = Toolkit.getDefaultToolkit();
JFrame jf = new JFrame("CatchMobile");
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
jf.setBounds((int) (toolkit.getScreenSize().getWidth() - 600) / 2,(int) (toolkit.getScreenSize().getHeight() - 400) / 2, 600, 400);
addComponent(jf);
jf.setVisible(true);
}

private void addComponent(JFrame jf) {
Container c = jf.getContentPane();
c.setLayout(new BorderLayout());
//north交互
JPanel jp = new JPanel();
jp.setLayout(new GridLayout(1,2));
//添加录入框
createPageInput(jp);
//添加按钮
createSubmitBtn(jp);
c.add(jp,BorderLayout.NORTH);
//center展示区域
JPanel jp2 = new JPanel();
createTextArea(jp2);
c.add(jp2,BorderLayout.CENTER);

}

private void createTextArea(JPanel jp) {
jt = new JTextArea();
jt.setLineWrap(true);
jt.setRows(17);
jt.setColumns(50);
JScrollPane js = new JScrollPane(jt);
jp.add(js);
}

private void createSubmitBtn(JPanel jp) {
JPanel temp = new JPanel();
temp.setLayout(new FlowLayout());
JButton btn = new JButton("确定");
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
HiPython hiPython = new HiPython();
String text = hiPython.getMobile(pages.getText());
jt.setText(text);
}
});
temp.add(btn);
JButton btn1 = new JButton("清除");
btn1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
jt.setText("");
}
});
temp.add(btn1);
jp.add(temp);
}

private void createPageInput(JPanel jp) {
JPanel temp = new JPanel();
temp.setLayout(new FlowLayout());
pages = new JTextField(2);
JLabel label = new JLabel("共");
JLabel label1 = new JLabel("页数据");
temp.add(label);
temp.add(pages);
temp.add(label1);
jp.add(temp);
}
}

test.java

import test.frame.CatchMobile;

public class test {
<span style="white-space:pre">	</span>public static void main(String[] args) {
<span style="white-space:pre">		</span>CatchMobile catchMobile = new CatchMobile();
<span style="white-space:pre">	</span>}
}
写的时候遇到一个问题,程序运行起来后组件都没有显示,必须最小化后在打开才能展示出来。后来查了查资料,原来只要把添加组件的代码放到JFrame的setVisible()前边就好了。就像上边的代码把addComponent(jf);放到前边就好了。这样界面就写好了,关键功能是让这个java调用我们的python,就是代码里的hiPython.getMobile()方法。嗯 下篇在写吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: