javaFx打jar包封装小工具

javaFx已在jdk包含无需单独引用,性能还是挺好的只是现在资料太少!

编写javaFX工具类
package com.xym;

import io.xjar.XConstants;
import io.xjar.XKit;
import io.xjar.boot.XBoot;
import io.xjar.jar.XJarAntEntryFilter;
import io.xjar.key.XKey;
import javafx.application.Application;
import javafx.application.Platform;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.control.ToolBar;
import javafx.scene.image.Image;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

import java.io.File;


/**
 * @Author: xym
 * @Date: 2019/12/18
 * @Description:
 * @Version: 1.0
 */
public class xjarutil extends Application {
    @Override
    public void start(Stage primaryStage) throws Exception {
    	//标签和html标签重合度挺高,学习成本较低
        Label nameLb1 = new Label("输入原始jar名称:");
        TextField nameFld = new TextField();
        Label nameLb2 = new Label("输入最终jar名称:");
        TextField nameFld1 = new TextField();
        Label nameLb3 = new Label("密码:");
        TextField nameFld3 = new TextField();
        Label nameLb4 = new Label("加密通配包:");
        TextField nameFld4 = new TextField();
        Label msg = new Label();
        Button sayHelloBtn = new Button("加密");
        Button exitBtn = new Button("Exit");
        ToolBar tb = new ToolBar();
        tb.getItems().addAll(sayHelloBtn,exitBtn);
        sayHelloBtn.setOnAction(event -> {
            try {
            	//调用xjar对于自己jar包中的部分代码进行加密
                String password = nameFld3.getText();
                String oldjar = nameFld.getText();
                String newJar = nameFld1.getText();
                String pattern = nameFld4.getText();
                //获取文件运行路径
                String property = System.getProperty("user.dir");
                newJar = property+ File.separator+newJar;
                oldjar = property+ File.separator+oldjar;
                XKey xKey = XKit.key(password);
                XBoot.encrypt(oldjar, newJar, xKey, XConstants.MODE_DANGER,new XJarAntEntryFilter(pattern));
            } catch (Exception e) {
                msg.setStyle("-fx-text-fill: red;");
                msg.setText("失败了!");
                e.printStackTrace();
            }
            msg.setStyle("-fx-text-fill: green;");
            msg.setText("加密成功!");

        });
        exitBtn.setOnAction(e-> Platform.exit());


       // Text msg = new Text("hello JavaFx");
        VBox root = new VBox();
        root.setSpacing(5);
        root.getChildren().addAll(nameLb1,nameFld,nameLb2,nameFld1,nameLb3,nameFld3,nameLb4,nameFld4,msg,tb);

        Scene scene = new Scene(root,350,250);
        primaryStage.setScene(scene);
        //设置舞台logo
        primaryStage.getIcons().add(new Image("icon.png"));
        //设置舞台标题
        primaryStage.setTitle("jar包加密");
        primaryStage.show();
    }
    public static void main(String[] args) {
        Application.launch(args);
    }
}

运行效果图:
在这里插入图片描述

maven 将自己的jar包,xjar的jar包一起打成可运行jar
 <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                        	<!--配置启动类-->
                            <mainClass>com.xym.xjarutil</mainClass>
                        </manifest>
                    </archive>
                    <descriptorRefs>
                        <descriptorRef>
                            jar-with-dependencies
                        </descriptorRef>
                    </descriptorRefs>
                </configuration>
            </plugin>
        </plugins>
    </build>

在这里插入图片描述
在这里插入图片描述

要利用数据库和JavaFX实现学生信息管理系统,可以按照以下步骤进行: 1. 设计系统的界面和功能:根据需求,设计系统的布局和各种功能。 2. 创建JavaFX应用程序:使用JavaFX创建应用程序,并在其中创建图形用户界面。 3. 连接数据库:使用JDBC连接数据库,并创建数据库表来存储学生信息。 4. 实现数据的CRUD操作:实现查找、添加、更新和删除学生信息的操作,通过JDBC将操作与数据库进行交互。 5. 实现数据校验:对用户输入的数据进行校验,确保数据的正确性。 6. 实现数据的导入和导出:实现从文件中导入和导出数据的功能。 7. 测试和调试:测试系统,确保其功能和界面都能正常运行。 8. 部署应用程序:将应用程序打包并部署到目标设备上。 具体实现细节如下: 1. 设计系统的界面和功能:可以创建一个JavaFX的窗口,包含各种控件,如文本框、表格、按钮等,用于显示和操作学生信息。 2. 创建JavaFX应用程序:可以使用JavaFX Scene Builder创建GUI,然后在Eclipse或IntelliJ IDEA等集成开发环境中创建JavaFX应用程序,将GUI导入到程序中。 3. 连接数据库:可以使用JDBC连接MySQL或其他关系型数据库,并创建一个名为“student”的数据库,其中包含一个名为“student_info”的表,用于存储学生信息。表中可以包含以下字段:学号、姓名、性别、年龄、专业等。 4. 实现数据的CRUD操作:可以通过JDBC实现查找、添加、更新和删除学生信息的操作,并将操作与数据库进行交互。例如,可以使用PreparedStatement对象执行SQL语句,如“SELECT * FROM student_info WHERE 学号=?”,将查询结果封装在ResultSet对象中,然后将ResultSet对象中的数据显示在JavaFX的表格中。 5. 实现数据校验:可以对用户输入的数据进行校验,例如,检查年龄是否为数字,姓名是否为空等。 6. 实现数据的导入和导出:可以实现从CSV文件中导入学生信息,并将学生信息导出到CSV文件中。例如,可以使用BufferedReader读取CSV文件,然后使用JDBC将学生信息插入到数据库中。 7. 测试和调试:可以使用JUnit等测试框架测试系统的功能和性能,并使用日志记录系统运行时的信息。 8. 部署应用程序:可以将应用程序打包成JAR文件,并将其部署到目标设备上。可以使用Java Web Start或JavaFX的打包工具将应用程序打包成可执行文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值