2017-01-03 59 views
-5

我会直接指出这一点。我正在构建一个基本上是云存储的服务器 - 客户端系统。因此,服务器将在连接时向客户端发送文件和文件夹列表,并且客户端将向用户显示它们。JavaFx桌面应用程序是否有类似桌面的视图?

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

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

希望有人能帮助我...

谢谢大家提前!

+0

没有至少不在controlsfx或标准库中,并且调整'GridView'并不那么复杂,但可能会不是正是你所需要的,因为与桌面不同,它会自动添加一个滚动条... – fabian

+2

'桌面式的时尚'时尚正在改变如此之快......你在谈论什么样的时尚?此外,你应该写一个更具体的问题,因为要求api或教程/指南不是关于SO的主题。 – AxelH

回答

1

您应该尝试使用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个按钮,但如需要,可以可以改变该组件还要设置流程窗格的填充以给出流程窗格的子项之间的间隔

+0

@Axelh检查示例代码 –

+0

@AxelH感谢尼斯编辑 –

+0

不客气,这足以成为答案,但不知道这是否是OP想要的。 – AxelH