在爲Web應用程序設計用戶界面時,我們有用於響應式設計界面的CSS和html。使用JAVA的Windows桌面應用程序的響應式UI設計
但是在設計桌面應用程序時,如何獲得響應式設計界面。我需要將我的應用程序界面放在不同大小的屏幕上,例如臺式機,筆記本電腦,標籤等。
我該怎麼做,使用JAVA?
在爲Web應用程序設計用戶界面時,我們有用於響應式設計界面的CSS和html。使用JAVA的Windows桌面應用程序的響應式UI設計
但是在設計桌面應用程序時,如何獲得響應式設計界面。我需要將我的應用程序界面放在不同大小的屏幕上,例如臺式機,筆記本電腦,標籤等。
我該怎麼做,使用JAVA?
如果您願意使用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自己,所以不能保證其有效性)
構建GUI時,我建議使用layout managers,如邊框佈局或框佈局,它們可以幫助您在窗口大小調整時移動項目。與他們一起玩來了解他們,並找出哪一個最適合您的需求。同時關注GridBag Layout,它是一個更高級的佈局管理器,但在掌握時非常有用。
至於以不同的屏幕分辨率/尺寸適配應用界面,您可以爲應用設置最小和最大窗口大小。
查看[佈局管理器](https://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html)您可能可以使用精心挑選的佈局經理。 – Codebender
「迴應」通常意味着「迅速反應」。你是否意味着適應不同尺寸屏幕的用戶界面? – DJClayworth