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

介绍

上篇写好了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()方法。嗯 下篇在写吧。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值