JavaFX基础学习之URLConnection
一个标准的JavaFX文件包含三个部分:主类 、 控制类、 界面设计(XML+CSS)
1,main.java
package application;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.stage.Stage;
import javafx.scene.Parent;
import javafx.scene.Scene;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
try {
Parent root = FXMLLoader.load(getClass().getResource("main.fxml"));
Scene scene = new Scene(root);
scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.setTitle("the key to the kingdom");
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
launch(args);
}
}
2,Conntroller.java
package application;
import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Button;
import javafx.scene.control.TextArea;
import javafx.scene.control.TextField;
public class Controller implements Initializable{
@FXML
private TextArea textarea;
@FXML
private TextField textfield;
@FXML
private Button button;
@FXML
private void handleButtonAction(ActionEvent event) {
try {
String corpid = "TEST";
String corpsecret = "TEST";
URL url = new URL("https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid="+corpid+"&corpsecret="+corpsecret);
URLConnection uc = url.openConnection();
InputStream raw = uc.getInputStream();
InputStream buffer = new BufferedInputStream(raw);
Reader r = new InputStreamReader(buffer);
int c;
StringBuffer body = new StringBuffer();
while ((c = r.read()) != -1){
body.append((char)c);
}
String key = body.substring(17, 81);
String xuehao = textfield.getText();
URL url2 = new URL("https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token="+key+"&userid="+xuehao);
URLConnection uc2 = url2.openConnection();
InputStream in = uc2.getInputStream();
in = new BufferedInputStream(in);
Reader r2 = new InputStreamReader(in);
int i;
StringBuffer body2 = new StringBuffer();
while ((i = r2.read()) != -1){
body2.append((char)i);
}
textarea.appendText(body2.toString()+"\n");
} catch (MalformedURLException ex) {
} catch (IOException ex) {
}
}
@Override
public void initialize(URL arg0, ResourceBundle arg1) {
// TODO Auto-generated method stub
}
}
3,main.fxml
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<AnchorPane id="AnchorPane" prefHeight="420.0" prefWidth="378.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.Controller">
<children>
<Button fx:id="button" layoutX="264.0" layoutY="20.0" onAction="#handleButtonAction" text="一键获取" />
<TextField fx:id="textfield" layoutX="97.0" layoutY="20.0" prefHeight="23.0" prefWidth="157.0" />
<TextArea fx:id="textarea" layoutX="7.0" layoutY="51.0" prefHeight="362.0" prefWidth="364.0" wrapText="true" />
<Label layoutX="23.0" layoutY="20.0" prefHeight="23.0" prefWidth="91.0" text="请输入学号:" />
</children>
</AnchorPane>
4,application.css
JavaFX基础学习之URLConnection的更多相关文章
- JavaFX基础学习之OkHttp/Gson2
222 package application; import java.io.IOException; import java.net.URL; import java.util.ResourceB ...
- JavaFX基础学习之OkHttp/Gson
导入jar包,使用OkHttp/Okio/Gson请求解析 package application; import java.io.IOException; import java.net.URL; ...
- salesforce 零基础学习(五十二)Trigger使用篇(二)
第十七篇的Trigger用法为通过Handler方式实现Trigger的封装,此种好处是一个Handler对应一个sObject,使本该在Trigger中写的代码分到Handler中,代码更加清晰. ...
- 如何从零基础学习VR
转载请声明转载地址:http://www.cnblogs.com/Rodolfo/,违者必究. 近期很多搞技术的朋友问我,如何步入VR的圈子?如何从零基础系统性的学习VR技术? 本人将于2017年1月 ...
- IOS基础学习-2: UIButton
IOS基础学习-2: UIButton UIButton是一个标准的UIControl控件,UIKit提供了一组控件:UISwitch开关.UIButton按钮.UISegmentedContro ...
- HTML5零基础学习Web前端需要知道哪些?
HTML零基础学习Web前端网页制作,首先是要掌握一些常用标签的使用和他们的各个属性,常用的标签我总结了一下有以下这些: html:页面的根元素. head:页面的头部标签,是所有头部元素的容器. b ...
- python入门到精通[三]:基础学习(2)
摘要:Python基础学习:列表.元组.字典.函数.序列化.正则.模块. 上一节学习了字符串.流程控制.文件及目录操作,这节介绍下列表.元组.字典.函数.序列化.正则.模块. 1.列表 python中 ...
- python入门到精通[二]:基础学习(1)
摘要:Python基础学习: 注释.字符串操作.用户交互.流程控制.导入模块.文件操作.目录操作. 上一节讲了分别在windows下和linux下的环境配置,这节以linux为例学习基本语法.代码部分 ...
- CSS零基础学习笔记.
酸菜记 之 CSS的零基础. 这篇是我自己从零基础学习CSS的笔记加理解总结归纳的,如有不对的地方,请留言指教, 学前了解: CSS中字母是不分大小写的; CSS文件可以使用在各种程序文件中(如:PH ...
随机推荐
- 一步步学习Python-django开发-添加后台管理
Pyhon-djano提供了一个很强大的后台管理功能,你很轻松的就可以拥有一个后台管理平台.你需要做啥呢?你只需要将需要管理员进行管理的表注册到管理site中即可: from django.contr ...
- python cookbook学习笔记 第一章 文本(2)
1.6合并字符串 ka=list('kaluoc') #字符串转成字符串列表 print ''.join(ka) #大量的字符串相连,join是最高效的 print '%s%s something % ...
- tmux tutorial
This is a great tutorial about tmux quick start: http://www.youtube.com/watch?v=wKEGA8oEWXw&nore ...
- 寻找两个已序数组中的第k大元素
寻找两个已序数组中的第k大元素 1.问题描述 给定两个数组与,其大小分别为.,假定它们都是已按照增序排序的数组,我们用尽可能快的方法去求两个数组合并后第大的元素,其中,.例如,对于数组,.我们记第大的 ...
- WPF 自定义数字文本框:NumericBox
由于项目需要,最近写了一个数字输入文本框,在此作个备忘. 1.代码调用 <controls:NumericBox Height="32" Width="80&quo ...
- log4j2日志配置
背景 log4j2相对于log4j 1.x有了脱胎换骨的变化,其官网宣称的优势有多线程下10几倍于log4j 1.x和logback的高吞吐量.可配置的审计型日志.基于插件架构的各种灵活配置等. 1. ...
- 【汇编语言】新手第一步——HelloWorld & A+B
国际惯例,HelloWorld. 这个程序是masm for windows里面的样例程序.按照我自己的理解,对其加上了注释. ;完整段的Hello World程序 DATAS SEGMENT STR ...
- [ios]iphone 获取UIWebView内Html方法
原文:http://blog.csdn.net/diyagoanyhacker/article/details/6564897 获取所有html:NSString *lJs = @"docu ...
- Day1 老男孩python自动化运维课程学习笔记
2017年1月7日老男孩python自动化运维课程正式开课 第一天学习内容: 上午 1.python语言的基本介绍 python语言是一门解释型的语言,与1989年的圣诞节期间,吉多·范罗苏姆为了在阿 ...
- Xcode 注释工具的使用
1:Xcode 8之后 Goodbye World In Xcode 8, Apple integrated a comment documentation generator plugin, whi ...