2017-01-03 99 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