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()方法。嗯 下篇在写吧。
相关文章推荐
- 微信公众号自定义菜单操作步骤
- 情人节写给女朋友的小程序
- [Android-2A] -仿IOS微信滑动删除_SwipeListview左滑删除例子
- 5分钟教你把产品卖遍微信朋友圈!
- 企业有必要知道的微信营销新思维
- 微信三级分销是个什么鬼?
- Android 仿写微信里的标签功能
- 分享--微信分享简单方法
- Android微信朋友圈、微信分享回调函数没有响应
- 微信 学习网址
- ionic入门教程第十六课-在微信中使用ionic的解决方案(按需加载加强版)
- 模仿微信选择群组成员的搜索效果(退格删除成员)
- 微信 redirect_uri参数错误 正确的处理
- Android中微信支付的调用方法
- python爬虫抓手机号+java客户端小程序
- 基于微信地理位置的附近商家距离坐标数据查询方法
- 微信退款curl错误
- 简述集成微信支付
- Java开发微信支付流程及容易入坑的点
- Android 仿微信支付密码输入框