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

时间:2017-01-03 10:12:19

标签: java javafx desktop-application

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

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

我相信有更好的方法可以做到这一点,而不是复杂的ad-hoc GridView,但似乎我无法找到它们。

希望有人能帮助我...

提前谢谢大家!

1 个答案:

答案 0 :(得分:1)

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

请参阅此Flow Pane  和Layout 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个按钮,但您可以根据需要更改组件,也可以设置流窗格的填充以提供流窗格的子项之间的间距