一个标准的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

最新文章

  1. 【分布式】Zookeeper的Leader选举
  2. Tomcat服务器本地的搭建,以及在 IDEA软件下的配置,以及项目的测试运行(基于supermvc框架下的web)
  3. asp.net 修改/删除站内目录操作后会导致Session丢失
  4. Sublime Text 3快捷键
  5. MHA自动Failover过程解析(updated) 转
  6. hadoop集群环境的搭建
  7. Stack-overflow, how to answer
  8. JQuery自定义插件详解之Banner图滚动插件
  9. Flask從入門到入土(四)——登錄實現
  10. 【NOIP2016】换教室
  11. 如何测量并报告ASP.NET Core Web API请求的响应时间
  12. shop++改造之ResponseEntity的坑
  13. 876. Middle of the Linked List
  14. RabbmitMQ-工作队列及相关概念
  15. leetcode-algorithms-25 Reverse Nodes in k-Group
  16. Codeforces Beta Round #81 A Transmigration
  17. openwrt lamp
  18. Linux远程上传、下载文件的方法
  19. Python爬虫教程-04-response简介
  20. 2.Windows服务--&gt;安装卸载服务

热门文章

  1. 设计模式——(Abstract Factory)抽象工厂
  2. OpenCV3.0.0+win10 64位+vs2015环境的下载,安装,配置
  3. TCP/IP capture/analysis tools in Unix/Linux
  4. create OpenVPN on ubuntu12.04
  5. POSIX多线程——基本线程管理函数介绍
  6. 在egret中使用protobuf
  7. C语言之if和switch的分别
  8. 背水一战 Windows 10 (39) - 控件(布局类): VariableSizedWrapGrid, Border, Viewbox, SplitView
  9. Extjs的GridPanel分页前后台完整代码实例
  10. openui5中的RESTful实现odata协议