JavaFx 桌面应用程序是否有类似桌面的视图?

Is there a Desktop-like view for JavaFx desktop application?

我就直奔主题吧。我正在构建一个基本上是云存储的服务器-客户端系统。因此,服务器会在连接时向客户端发送文件和文件夹列表,客户端会将它们显示给用户。

我正在寻找的是一个 JavaFx 视图,它将以类似桌面的方式显示这些内容:每个内容都有自己的图标和名称。

我相信有比复杂的临时 GridView 更好的方法来做到这一点,但我似乎无法找到它们。

希望有人能帮助我...

提前谢谢大家!

您应该尝试使用 JavaFX 的流窗格,它会在流中添加子项。您可以在条件下为它们提供图标,例如,如果您获得目录,然后为文件夹图标提供其他文件图标,就像这样。

参考这个 Flow PaneLayout building

示例:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.FlowPane;
import javafx.stage.Stage;

public class DemoFile extends Application {

@Override
public void start(Stage primaryStage) throws Exception {
    FlowPane flowPane = new FlowPane();
    for (int i = 0; i < 20; i++) {
        Button button = new Button("File Name or folder name");
        button.setPrefSize(200, 200);
        flowPane.getChildren().add(button);
    }
    Scene scene = new Scene(flowPane);
    primaryStage.setScene(scene);
    primaryStage.show();
}

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

尝试这个例子,我在流程窗格中添加了 20 个按钮,但您可以根据需要更改组件,您还可以设置流程窗格的填充以给出流程窗格子项之间的间距