2015-07-03 31 views
1

在爲Web應用程序設計用戶界面時,我們有用於響應式設計界面的CSS和html。使用JAVA的Windows桌面應用程序的響應式UI設計

但是在設計桌面應用程序時,如何獲得響應式設計界面。我需要將我的應用程序界面放在不同大小的屏幕上,例如臺式機,筆記本電腦,標籤等。

我該怎麼做,使用JAVA?

+0

查看[佈局管理器](https://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html)您可能可以使用精心挑選的佈局經理。 – Codebender

+0

「迴應」通常意味着「迅速反應」。你是否意味着適應不同尺寸屏幕的用戶界面? – DJClayworth

回答

1

如果您願意使用JavaFX,則可以使用WebView設計您的應用程序。這使您可以使用CSS在您的用戶界面中實現響應。然後,您可以添加ResponsiveFX庫,它基本上模仿Bootstrap's響應式API的子集。

從上面的ResponsiveFX鏈接轉述,你在Java代碼中啓用響應處理一行:

ResponsiveHandler.addResponsiveToWindow(primaryStage); 

然後,添加適當的hidden-*visible-*類的元素:

TableView table = new TableView(items); 
table.getStyleClass().addAll("visible-lg", "visible-md"); 

ListView list = new ListView(items); 
list.getStyleClass().addAll("visible-xs", "visible-sm"); 

pane.getChildren().addAll(table, list); 

或者更有效地,您可以爲想要支持的不同屏幕尺寸定義僞類,並使用這些僞類而不是隱藏/顯示相同元素的多個版本。

從鏈接(CSS)

工具欄例如:從網站(JAVA)

#toolbar { 
    -fx-background-color: deepskyblue; 
} 

#toolbar:extreme-small-device { 
    -fx-padding: 1 1 0 1; 
} 

#toolbar:small-device { 
    -fx-padding: 2 2 1 2; 
} 

#toolbar:medium-device { 
    -fx-padding: 6 6 1 6; 
} 

#toolbar:large-device { 
    -fx-padding: 6 6 1 6; 
    -fx-background-image: url(blue-background.png); 
} 

工具欄例如:

Toolbar myToolbar = new Toolbar(...); 
myToolbar.setId(toolbar); 
pane.getChildren().add(myToolbar); 

(公平的警告,我沒有用ResponsiveFX自己,所以不能保證其有效性)

1

構建GUI時,我建議使用layout managers,如邊框佈局或框佈局,它們可以幫助您在窗口大小調整時移動項目。與他們一起玩來了解他們,並找出哪一個最適合您的需求。同時關注GridBag Layout,它是一個更高級的佈局管理器,但在掌握時非常有用。

至於以不同的屏幕分辨率/尺寸適配應用界面,您可以爲應用設置最小和最大窗口大小。