javafx响应式布局

使用CSS技术,为您的网站创建响应式设计相对容易。 根据屏幕的大小,您可以使用其他CSS文件和布局。 在JavaFX中,乍一看似乎有些困难,因为CSS仅负责样式,而不负责布局。 但是,为各个屏幕尺寸使用不同的FXML文件并共享一个控制器实际上并没有那么糟,因此您可以轻松地使用SceneBuilder来预览不同屏幕尺寸的布局。 在代码中,您可以根据屏幕大小在FXML文件之间进行切换,也可以通过根据目标设备创建不同的部署并在构建过程中复制所需的文件来摆脱这种情况。

但是,响应式设计不仅与尺寸有关。 对于启用触摸的设备,同样要使用正确的控件,这一点很重要。 在JayDay上,Jim Weaver很好地介绍了如何使用JavaFX创建支持触摸的UI。 您可以从JayDay网站上下载演示文稿: JayDay 2013 。 他提出的目的之一是使用分页控件,该控件比TabPane易于在触摸设备上使用。

不幸的是,这不能与我们重用控制器的方法很好地配合使用,因此我们必须为具有常见内容和用途的控制器创建一个基类。

@FXML private Pagination pager

用于触摸设备和

@FXML private TabPane pager

如果应用程序在桌面上运行。

Paru Somashekar在JavaONE与Jonathan Giles的演讲中所展示的那样,如果我们能够简单地通过CSS切换外观,那就更好了。 在此演示中,她展示了CheckBox的替代外观,可以通过CSS轻松设置(大约27:15):

因此,您可以专门为具有CSS的触摸设备创建部署,或者使用类似的方法来确定设备是否支持触摸:

PlatformImpl.isSupported(ConditionalFeature.INPUT_TOUCH);

我决定自己尝试一下,然后将我创建的ChoiceWheel控件转换为ChoiceBox的外观:

对于基于FXML / CSS的方法,我不会像Paru那样通过每个CheckBox上的样式类来设置样式,而是为所有控件启用替代的Skin。 对于我所有的ChoiceBoxes:

.choice-box {
-fx-skin: "de.eppleton.controls.choicewheel.ChoiceBoxSkin";
}

无需对控制器进行任何更改。 我认为这是一种创建在台式机,平板电脑或手机上看起来都不错的应用程序的好方法,它显示了FXML和CSS的优势。 每个设备大小都有一个CSS-FXML对,您可以:

  • 根据每个设备组织布局
  • 在SceneBuilder中的不同设备上轻松预览设计
  • 通过CSS在不同的控件(触摸/鼠标)之间切换
  • 重用同一控制器
  • 创建仅包含目标设备所需文件的部署

对于常规控件,拥有更多这些经过触摸优化的皮肤真的很棒。

参考: Eppleton博客上我们JCG合作伙伴 Toni Epple的JavaFX响应式设计 。

翻译自: https://www.javacodegeeks.com/2013/09/responsive-design-with-javafx.html

javafx响应式布局

javafx响应式布局_JavaFX的响应式设计相关推荐

  1. 流体式布局与响应式布局_将固定像素设计转换为流体比例布局

    流体式布局与响应式布局 Responsive web design has been a prime necessity for every enterprise ever since Google ...

  2. html页面的响应式布局,HTML+CSS十分钟实现响应式布局页面,响应式布局实战教程...

    承蒙各位小伙伴的支持,鄙人有幸入围了<CSDN 2020博客之星>的前200名,现在进入投票环节,如果我平时写的文章和分享对你有用的话,请每天点击一下这个链接,投上你们宝贵的一票吧!谢谢! ...

  3. html5响应式布局实例,CSS3响应式布局案例

    布局结果图: 电脑全屏: 手机浏览: 竖屏: 横屏: 代码: 响应式布局 * { margin: 0; padding: 0; } html, body { height: 100%; font: 2 ...

  4. html 响应式布局注意问题,响应式布局总结(推荐)

    响应式布局的开发基础知识 本章主要分为以下几个部分 •正确理解响应式设计 •响应式设计的步骤 •响应式设计需要注意的问题 •响应式网页布局实现原理 第一:正确理解响应式布局 响应式网页设计就是一个网站 ...

  5. 响应式布局 android,Android响应式布局

    本文由 伯乐在线 - chris 翻译.未经许可,禁止转载! 英文出处: mdswanson.欢迎加入 翻译组. 由于目前在做的一款app需要适配手机和平板,所以我在研究怎么构建可适应所有屏幕尺寸的布 ...

  6. html5流式布局,流式布局是什么?流式布局详细介绍

    在PC端进行网页制作时,经常使用固定像素并且内容居中的网页布局,为了适应小屏幕的设备,在移动设备和跨平台(响应式)网页开发过程中,多数使用流式布局,下面我们就对流式布局进行详细介绍. 流式布局是一种等 ...

  7. android 流式布局官方,Android 流式布局

    FlowLayoutManager 这是一个自定义实现流式布局的LayoutManager,配合RecyclerView使用,可实现标签效果:目前的问题是没有实现View的缓存,以后再补吧. 代码示例 ...

  8. android recyclerview流式布局,Android FlexboxLayout流式布局

    Android FlexboxLayout流式布局 FlexBoxLayout是为Android带来了与 CSS Flexible Box Layout(CSS 弹性盒子)相似功能的库. 一:添加依赖 ...

  9. ul 响应式 布局_HTML5中响应式布局怎么弄??

    繁华如梦倾城殇 HTML 5中新增加了不少标签,如:  article, aside, details, figcaption, figure, footer, header, hgroup, men ...

最新文章

  1. 【tensorflow】重置/清除计算图
  2. 一组超炫酷的动图,感受那让人窒息的数学之美!
  3. Java数字格式:DecimalFormat
  4. 按键精灵打卡怎么写_[按键精灵教程]过新手引导的各种姿势
  5. matlab中求雅克比矩阵的方法及cov函数的用法,协方差矩阵—Hessian矩阵—正定矩阵
  6. 解决百度BMR的spark集群开启slaves结点的问题
  7. win10怎么修改计算机用户名和密码,windows10系统如何更改开机密码
  8. 字幕制作 分享剪辑视频添加滚动字幕的操作步骤
  9. 银河麒麟系统下安装Kingbase数据库
  10. Reducing Participation Costs via Incremental Verification for Ledger Systems学习笔记
  11. Excel 如何根据单元格选中一行?
  12. 使用CSS画一个扇形
  13. iOS面试攻略,你必须拥有
  14. 算法复杂性分析及运算规则证明(一)
  15. iOS:内存优化思路
  16. PXE的原理与配置方式
  17. 使用Python对Dicom文件进行读取与写入的实现(pydicom 和 SimpleITK)
  18. (50)uniGUI 高大上的HyperServer-多机部署一个硬集群
  19. 生肖迷宫之如何辨别福娃衰娃
  20. java 类没有返回类型,返回类型的Java方法编译时没有return语句

热门文章

  1. (一)Web Service——基本概念
  2. .sync的一个用法
  3. 使用Servlet上传多张图片——Dao层(BaseDao.java)
  4. 当当网头部和尾部——源码
  5. 块元素与行内元素转化(display属性)
  6. html session 登录页面跳转页面跳转页面,session失效后跳转到登陆页面
  7. mysql 语句块语法_MySQL ------ MySQL常用语句的语法 (三十四)
  8. 打开数据库_数据库客户端navicat遇到问题怎么办?
  9. 近5年133个Java面试题 你会几个?
  10. c语言程序设计班档案管理系统报告,C语言班级档案管理系统