使用JAVA的Windows桌面应用程序的响应式UI设计

时间:2015-07-03 17:01:03

标签: java css

在为Web应用程序设计UI时,我们为响应式设计界面提供了CSS和html。

但在设计桌面应用程序时,我如何获得响应式设计界面。我需要在不同尺寸的屏幕上安装我的应用程序界面,例如台式机,笔记本电脑,标签等

如何使用JAVA执行此操作?

2 个答案:

答案 0 :(得分:1)

在构建GUI时,我建议使用layout managers,例如边框布局或框布局,它们可以帮助您在调整窗口大小时移动项目。与他们一起玩,了解他们,找到最适合您的需求。另外看看GridBag Layout,它是一个更高级的布局管理器,但在掌握时非常有用。

对于以不同屏幕分辨率/尺寸拟合应用程序界面,您可以为应用程序设置最小和最大窗口大小。

答案 1 :(得分:1)

如果您愿意使用JavaFX,则可以使用WebView设计应用。这使您能够使用CSS在UI中实现响应。然后,您可以添加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)的工具栏示例:

#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);
}

网站(Java)的工具栏示例:

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

(公平警告,我自己没有使用过ResponsiveFX,因此无法保证其有效性)