软件编程
位置:首页>> 软件编程>> java编程>> 基于socket和javaFX简单文件传输工具

基于socket和javaFX简单文件传输工具

作者:uncle_zhang  发布时间:2022-11-04 12:37:42 

标签:socket,javaFX,文件传输

本文实例介绍了基于socket和javaFX简单文件传输工具,分享给大家供大家参考,具体内容如下


package application;

import java.io.File;

import org.james.component.ButtonBox;
import org.james.component.FileReceiverGrid;
import org.james.component.FileSenderGrid;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;
import javafx.stage.FileChooser;
import javafx.stage.Stage;

public class Main extends Application {

public static Stage primaryStage;

@Override
 public void start(Stage primaryStage) {
   try {
     this.primaryStage = primaryStage;
     primaryStage.setFullScreen(false);
     primaryStage.setResizable(false);

FileReceiverGrid fileReceiverGrid = new FileReceiverGrid();
     fileReceiverGrid.initialize();
     FileSenderGrid fileSenderGrid = new FileSenderGrid();
     fileSenderGrid.initialize();

ButtonBox buttonBox = new ButtonBox();
     buttonBox.initialize();

BorderPane root = new BorderPane();
     root.setTop(fileReceiverGrid);
     root.setBottom(buttonBox);

buttonBox.getReceiveFileFunc().setOnAction(new EventHandler<ActionEvent>() {
       @Override
       public void handle(ActionEvent event) {
         buttonBox.getReceiveFileFunc().setDisable(true);
         buttonBox.getSendFileFunc().setDisable(false);
         root.setTop(fileReceiverGrid);
       }
     });

buttonBox.getSendFileFunc().setOnAction(new EventHandler<ActionEvent>() {
       @Override
       public void handle(ActionEvent event) {
         buttonBox.getReceiveFileFunc().setDisable(false);
         buttonBox.getSendFileFunc().setDisable(true);
         root.setTop(fileSenderGrid);
       }
     });

fileSenderGrid.getSelectFileBtn().setOnAction(new EventHandler<ActionEvent>() {
       @Override
       public void handle(ActionEvent event) {
         FileChooser fileChooser = new FileChooser();
         fileChooser.setTitle("打开文件");
         File selectedFile = fileChooser.showOpenDialog(primaryStage);
         if(selectedFile != null){
           fileSenderGrid.setFile(selectedFile);
           fileSenderGrid.getFileNameLabel().setText(selectedFile.getPath());
         }
       }
     });

Scene scene = new Scene(root,800,400);
     scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
     primaryStage.setScene(scene);
     primaryStage.show();
   } catch(Exception e) {
     e.printStackTrace();
   }
 }

public static void main(String[] args) {
   launch(args);
 }
}
0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com