javafx 界面_JavaFX的科幻用户界面第1部分

javafx 界面

使用JavaFX创建的Sci-Fi UI成形窗口

虚构的UI可以变成现实吗?

成长于80年代的小时候,我看到了自己的科幻电影,这确实激发了我对图形用户界面(GUI)的热爱,尤其是试图使科幻UI在现实世界中成为可能的想法。 在本博文和一系列博文中,我想尝试(尝试)回答“虚构UI是否可以成为现实?”这一问题。

虚构的UI

由于我正在尝试关于科幻UI的外观和行为的不同想法(实现),因此我将无法确切知道本博客系列将包含多少部分。 因此,我希望您能与我一起努力,朝着创建能够使科幻用户界面成为现实的原型和API的方向迈进。 您可能想知道是否已经存在某些东西(UI框架)。

我们不应该只使用已经存在的UI框架吗?

如果您熟悉Jeff Atwood在2006年的文章“ 这就是让开发人员创建UI时发生的事情 ”中的精彩文章。 他谈到大多数软件开发人员在创建UI方面并不是很出色。 这是真的吗? 尽管我同意他的大部分言论,但我仍然相信,只要有足够的热情,任何人都会想出一种方法来实现其预期目标(当然是在合理的范围内)。 对于我来说,我的大多数设计选择主要是通过反复试验。 我认为UI设计非常类似于服装,其中的设计可以是新潮或经典。

多年以来,许多设计师已经制作了UI框架来构建外观精美且功能强大的UI,但是与我们今天在电影中看到的科幻UI相比,它们看起来更原始(IMO)。 朝着其他方向发展时,科幻小说的UI可能看起来是未来派的,但它们并不能完全映射到任何真实的或功能性的东西。

假设您是一名开发人员(具有一些UI技能)并且希望构建科幻UI,则在下一节中,我将讨论科幻UI的外观或行为方式。

外观要求

以下是典型的科幻小说UI窗口可能具有的功能:

  • 创建任何形状的窗口(现在使用线段)
  • 在窗口周围设置可见的形状框架
  • 创建鼠标侦听器,以定义要在桌面上调整窗口大小和移动窗口的区域
  • 使用8个方向(NW,N,NE,E,SE,S,SW,W)调整窗口大小
  • 在进入和退出桌面(区域)时对窗口和内容进行动画处理
  • 创建剪辑区域以显示内容,例如视频,3D,窗格

结论

小时候,我记得当我在大银幕上看到未来主义和技术进步的文明时,我的思想简直被震撼了。 回顾旧的科幻电影,您会立即意识到它们与当今电影相比有多俗气。

希望我已经给出了令人信服的理由,说明我为什么要创建这样的API,使开发人员能够轻松地设计和创建具有Sci-Fi外观的UI。 作为开发人员/设计人员,我希望通过列出一些开始时的一般要求来弥合Sci-Fi UI和实际UI之间的差距。

一如既往,随时发表评论,让我知道您的想法。

快乐的编码。:-)

参考资料

Jeff Atwood在2006年发表的文章“ 这就是让开发人员创建UI时发生的事情 ”
克里斯·诺塞尔(Chris Noessel):“ 科幻设计和现实世界如何相互影响 ”
卡尔·迪亚(Carl Dea)的视频“ 科幻UI HUD窗口的JavaFX演示 ”

翻译自: https://www.javacodegeeks.com/2019/03/science-fiction-user-interfaces-javafx-part.html

javafx 界面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/332260.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

token验证_如何利用 C# 爬取带 Token 验证的网站数据?

在对文本数据的情感分析中,基于情感词典的方法是最简单也是最常用的一种了。它的大体思路如下:对文档分词,找出文档中的情感词、否定词以及程度副词,然后判断每个情感词之前是否有否定词及程度副词,将它之前的否定词和…

hadoop2.6.0+eclipse配置

【0】安装前的声明 0.1) 所用节点2个 master : 192.168.119.105 hadoop5 slave : 192.168.119.101 hadoop1 (先用一个slave,跑成功后,在从master分别scp到各个slaves即可】) 0.2) 每个机子的那些个文件…

线程同步的学习

文章目录一、同步代码块二、同步方法静态同步方法三、Lock解决线程安全问题的三种方案:同步代码块、同步方法、使用 Lock一、同步代码块 synchronized(同步锁对象) { 需要同步操作的代码 }注: 1.锁对象可以是任意对象 2.必须保证多个线程使用同一个锁对…

spock测试_用于混合Spock 1.x和JUnit 5测试的Maven项目设置

spock测试我为Maven创建了一个示例Groovy项目,该项目在一个项目中混合了Spock测试和JUnit 5测试。 在下一节中,我将描述如何设置这种Maven项目。 在项目中启用Groovy 首先,您必须在项目中启用Groovy。 一种可能性是将GMavenPlus插件添加到您…

python 图片识别_python识别图片文字

滑稽研究所python识别图片文字哈喽,大家好呀,我是滑稽君。大家在写论文时可能经常碰到无法复制文字的文章。明明找到了需要的内容却无法直接复制使用,这让我们十分苦恼。那么本期滑稽君就告诉大家如何使用python识别图片中的文字。滑稽君整理…

MySQL数据库的数据类型decimal详解

大概意思是这样的: decimal(m,d) m是数字的最大位数,他的范围是从1-65; d是小数点后的位数,他的范围是0-30,并且不能大于m。 如果m被省略了,那么m的值默认为10, 如果d被省略了,那么d…

如何撰写论文

【0】README 0.1)本内容转自一个学长的口述,该学长在硕士期间发表论文6篇,现在 某高校读博; 0.2)鉴于看的人比较多,于今日对文本进行排版便于各位阅读(timestamp: 1512141116)&…

java查找链表中间元素_如何通过Java单次查找链表的中间元素

java查找链表中间元素您如何一次找到LinkedList的中间元素是一个编程问题,在电话采访中经常问Java和非Java程序员。 这个问题类似于检查回文或 计算阶乘 ,有时Interviewer还会要求编写代码。 为了回答这个问题,候选人必须熟悉LinkedList的数…

python nums函数获取结果记录集有多少行记录_PHP mysqli_num_rows():获取查询结果的行数...

在 PHP 中,想要获取由 SELECT 语句查询到的结果集中有多少条数据的话,则需要使用 mysqli_num_rows() 函数来实现。首先我们来看一下该函数的语法结构:面向对象风格的写法$mysqli_result -> num_rows;其中 $mysqli_result 为使用 mysqli_qu…

Windows系统下,好用的录屏软件工具/屏幕录制工具

文章目录万兴神剪手Open Broadcaster Software(OBS)QQ录屏Window 10 自带的屏幕录制软件录屏王bandicam万兴神剪手 可以录制网络视频、视频教程、游戏指南、演示文稿等。除了一些需要调用显卡的游戏,游戏窗口画面都能录制。神剪手的后期剪辑…

What are definitions of ​Model, Inference and Algorithm and its associations ?

【1】拿初中的二元一次方程来说明: 1.1)说model就好比一元二次方程,它是个方程模型;1.2)再说inference是求解该方程的某种方法——加减消元法(重在推理);1.3)最后说algo…

aws ec2 选择可用区_AWS Messaging Services:选择合适的服务

aws ec2 选择可用区1. AWS消息服务 AWS Messaging服务使云中相似和不同的软件系统能够异步通信和交换信息。 这些软件系统可能不兼容且使用不同的语言,也可能在不同的平台上。 AWS消息传递服务具有高度可用性,高度可扩展性和高度可靠性。 AWS支持针对不同…

qq消息连发代码_我们用的QQ是怎样实现通讯的

聊天工具便利了我们的生活,我们经常使用的QQ怎样实现通讯的呢?首先我们需要知道网络里的两种协议,两种通讯协议分别为UDP和TCP通常网络之间的通讯都是由这两个协议支持的,这两种协议属于传输层,它可以传输文件。UDP&am…

产品经理十大悲催错误

文章目录错误1: 将用户需求混淆为产品需求错误2: 将老板的需求混淆为产品需求错误3:将发明(invention)混淆为创造(innovation)错误4: 以自己的需求取代用户的需求错误5: …

cognito_将Spring Boot应用程序与Amazon Cognito集成

cognito在本文中,我们将展示如何使用Spring Security 5.0中引入的OAuth 2.0客户端库 ,在Spring Boot应用程序中为身份验证用户使用Amazon Cognito服务。 什么是AWS Cognito? Amazon Cognito是由AWS提供的服务,除了提供支持访问AW…

how to build a paper's architecture?

【0】README 0.1) these contents below are from PhD Hongjun Wang on ML class in #9133. best regards! 0.2) these contents below are just for reference. 【1】related to build a paper’s architecture 1.1) problem? what’s…

python之路 mysql 博客园_Python之路(二十七):Mysql(下)

本结目录数据库操作数据表操作外键约束多表查询索引事务python连接Mysql数据库操作此操作针对windows环境下该操作再Mysql服务器启动以及客户端连接之后对数据库操作之前,引申一些较为听的懂的白话1、显示数据库show databases; --后面记得跟英文字符的分号show cre…

APP视觉稿该怎么切图和标注

本篇教程跟大家分享UI设计的一些知识,就是APP怎么切图和标注,还不懂的同学,赶紧了解一下。 首先:哪些东西要切出来? 简单来说就是代码不好实现的东西就直接切成一张图放到软件里面展示,例如图片&#xff…

skynet.fork_Apache Ant 1.10.6发布–用于junitlauncher的fork模式以及新的jmod和链接任务

skynet.forkApache Ant 1.10.6已于本周发布。 此版本包含许多错误修复以及一些非常令人兴奋的新功能。 完整的发行说明可在此处获得 ,下载本身也可以在此处获得 。 在本文中,我将介绍该版本中引入的一些新功能。 使用junitlauncher任务在派生的JVM中运行…

使用MRUnit,Mockito和PowerMock进行Hadoop MapReduce作业的单元测试

0、preliminary 环境搭建 Setup development environment Download the latest version of MRUnit jar from Apache website: https://repository.apache.org/content/repositories/releases/org/apache/mrunit/mrunit/. For example if you are using the Hadoop version 1.…