网站开发目录规范网站建设需求模板

diannao/2025/10/16 5:36:15/文章来源:
网站开发目录规范,网站建设需求模板,松原市建设局网站,生态建设网站java 和javafx我最喜欢的JavaFX 2功能之一是它在javafx.scene.chart包中提供的标准图表。 该软件包提供了几种不同类型的现成图表。 除其中之一#xff08; PieChart #xff09;外#xff0c;所有其他均为“ 2轴图”#xff08; XYChart的特定实现#xff09;。 在本文中… java 和javafx 我最喜欢的JavaFX 2功能之一是它在javafx.scene.chart包中提供的标准图表。 该软件包提供了几种不同类型的现成图表。 除其中之一 PieChart 外所有其他均为“ 2轴图” XYChart的特定实现。 在本文中我研究了XYChart这些专业之间的共性。 在此过程中我将介绍一些方便的Java 7功能。 接下来显示javafx.scene.chart包中关键图类型的UML类图。 注意AreaChart StackedAreaChart BarChart StackedBarChart BubbleChart LineChart和ScatterChart都扩展了XYChart 。 正如上面的UML图使用JDeveloper生成所示 PieChart直接扩展Chart 而所有其他图表类型都扩展XYChart 。 因为除PieChart之外的所有其他图表类型都扩展了XYChart 所以它们共享一些共同的功能。 例如它们都是带有水平x轴和垂直y轴的2轴图表。 它们通常允许为所有XY图表以相同的格式数据结构指定数据。 这篇文章的其余部分演示了能够对大多数XYChart使用相同的数据。 图表的主要用途是显示数据因此下一个代码清单指示从Oracle数据库中的“ hr ” 样本模式检索数据。 请注意JDBC_URLUSERNAMEPASSWORD和AVG_SALARIES_PER_DEPARTMENT_QUERY是在JDBC连接和查询中使用的常量字符串。 getAverageDepartmentsSalaries /*** Provide average salary per department name.* * return Map of department names to average salary per department.*/ public MapString, Double getAverageDepartmentsSalaries() {final MapString, Double averageSalaryPerDepartment new HashMap();try (final Connection connection DriverManager.getConnection(JDBC_URL, USERNAME, PASSWORD);final Statement statement connection.createStatement();final ResultSet rs statement.executeQuery(AVG_SALARIES_PER_DEPARTMENT_QUERY)){while (rs.next()){final String departmentName rs.getString(COLUMN_DEPARTMENT_NAME);final Double salaryAverage rs.getDouble(ALIAS_AVERAGE_SALARY);averageSalaryPerDepartment.put(departmentName, salaryAverage);}}catch (SQLException sqlEx){LOGGER.log(Level.SEVERE,Unable to get average salaries per department - {0}, sqlEx.toString());}return averageSalaryPerDepartment; } 上面的Java代码段使用JDBC检索数据以将部门名称字符串Map为每个部门中雇员的平均工资。 此代码中使用了几个方便的Java 7功能。 一个小的功能是与局部变量averageSalaryPerDepartment 第8行的声明一起使用的钻石运算符的推断通用参数化类型。 这是语法糖的一小部分但确实使代码更简洁。 Java 7的一项更重要的功能是使用try-with-resources语句来处理Connection Statement和ResultSet资源第9-11行。 与以前使用JDBC相比即使面对异常这也是处理这些资源打开和关闭的一种更好的方法。 try-with-resources语句上的Java Tutorials页面广告该语句“确保在语句末尾关闭每个资源”并且无论“ try语句正常完成还是突然完成”每个资源都将“关闭”。 该页面还指出与上述代码一样在同一语句中指定了多个资源时“资源的close方法将按其创建的相反顺序进行调用。” 从数据库中检索到的数据可以放入适当的数据结构中以支持大多数XYCharts的使用。 这在下一个方法中显示。 ChartMaker.createXyChartDataForAverageDepartmentSalary地图 /*** Create XYChart Data representing average salary per department name.* * param newAverageSalariesPerDepartment Map of department name (keys) to* average salary for each department (values).* return XYChart Data representing average salary per department.*/ public static ObservableListXYChart.SeriesString, Double createXyChartDataForAverageDepartmentSalary(final MapString, Double newAverageSalariesPerDepartment) {final SeriesString, Double series new Series();series.setName(Departments);for (final Map.EntryString, Double entry : newAverageSalariesPerDepartment.entrySet()){series.getData().add(new XYChart.Data(entry.getKey(), entry.getValue()));}final ObservableListXYChart.SeriesString, Double chartData FXCollections.observableArrayList();chartData.add(series);return chartData; } 刚刚显示的方法将检索到的数据放置在几乎所有基于XYChart的图表都可以使用的数据结构中。 现在将检索到的数据打包到JavaFX可观察的集合中就可以轻松生成图表。 下一个代码片段显示了用于生成多个基于XYChart的图表面积条形图气泡图折线图和散点图的方法。 请注意它们都是多么相似以及如何使用相同方法提供的相同数据。 StackedBar和StackedArea图表也可以使用类似的数据但此处未显示因为它们对于本示例中使用的单个数据系列没有意义。 生成除气泡图和堆积图以外的XY图的方法 private XYChartString, Double generateAreaChart(final AxisString xAxis, final AxisDouble yAxis) {final AreaChartString, Double areaChart new AreaChart(xAxis, yAxis,ChartMaker.createXyChartDataForAverageDepartmentSalary(this.databaseAccess.getAverageDepartmentsSalaries()));return areaChart; }private XYChartString, Double generateBarChart(final AxisString xAxis, final AxisDouble yAxis) {final BarChartString, Double barChart new BarChart(xAxis, yAxis,ChartMaker.createXyChartDataForAverageDepartmentSalary(this.databaseAccess.getAverageDepartmentsSalaries()));return barChart; }private XYChartNumber, Number generateBubbleChart(final AxisString xAxis, final AxisDouble yAxis) {final AxisNumber deptIdXAxis new NumberAxis();deptIdXAxis.setLabel(Department ID);final BubbleChartNumber, Number bubbleChart new BubbleChart(deptIdXAxis, yAxis,ChartMaker.createXyChartDataForAverageDepartmentSalaryById(this.databaseAccess.getAverageDepartmentsSalariesById()));return bubbleChart; }private XYChartString, Double generateLineChart(final AxisString xAxis, final AxisDouble yAxis) {final LineChartString, Double lineChart new LineChart(xAxis, yAxis,ChartMaker.createXyChartDataForAverageDepartmentSalary(this.databaseAccess.getAverageDepartmentsSalaries()));return lineChart; }private XYChartString, Double generateScatterChart(final AxisString xAxis, final AxisDouble yAxis) {final ScatterChartString, Double scatterChart new ScatterChart(xAxis, yAxis,ChartMaker.createXyChartDataForAverageDepartmentSalary(this.databaseAccess.getAverageDepartmentsSalaries()));return scatterChart; } 这些方法是如此相似以至于我实际上可以使用方法句柄或更传统的反射API来反射性地调用适当的图表构造函数而不是使用单独的方法。 但是我在2月的2013年RMOUG培训日演讲中使用了这些功能因此想保留图表特定的构造函数以使它们对观众更清晰。 XYChart类型的常规处理的一个例外是BubbleChart的处理。 此图表的x轴需要数字类型因此上面提供的基于字符串部门名称的x轴数据将不起作用。 另一种方法此处未显示提供了一个查询该查询按部门ID长而不是部门名称返回平均工资。 接下来显示稍有不同的generateBubbleChart方法。 generateBubbleChartAxisAxis private XYChartNumber, Number generateBubbleChart(final AxisString xAxis, final AxisDouble yAxis){final AxisNumber deptIdXAxis new NumberAxis();deptIdXAxis.setLabel(Department ID);final BubbleChartNumber, Number bubbleChart new BubbleChart(deptIdXAxis, yAxis,ChartMaker.createXyChartDataForAverageDepartmentSalaryById(this.databaseAccess.getAverageDepartmentsSalariesById()));return bubbleChart;} 可以编写代码直接调用这些不同的图表生成方法但这为使用Java 7的方法句柄提供了一个很好的机会。 下一个代码片段显示了此操作。 该代码不仅演示了方法句柄而且还使用了Java 7的多捕获异常处理机制第77行。 /*** Generate JavaFX XYChart-based chart.* * param chartChoice Choice of chart to be generated.* return JavaFX XYChart-based chart; may be null.* throws IllegalArgumentException Thrown if the provided parameter is null.*/ private XYChartString, Double generateChart(final ChartTypes chartChoice) {XYChartString, Double chart null;final AxisString xAxis new CategoryAxis();xAxis.setLabel(Department Name);final Axis? extends Number yAxis new NumberAxis();yAxis.setLabel(Average Salary);if (chartChoice null){throw new IllegalArgumentException(Provided chart type was null; chart type must be specified.);}else if (!chartChoice.isXyChart()){LOGGER.log(Level.INFO,Chart Choice {0} {1} an XYChart.,new Object[]{chartChoice.name(), chartChoice.isXyChart() ? IS : is NOT});}final MethodHandle methodHandle buildAppropriateMethodHandle(chartChoice);try{chart methodHandle ! null? (XYChartString, Double) methodHandle.invokeExact(this, xAxis, yAxis): null;chart.setTitle(Average Department Salaries);}catch (WrongMethodTypeException wmtEx){LOGGER.log(Level.SEVERE,Unable to invoke method because it is wrong type - {0},wmtEx.toString());}catch (Throwable throwable){LOGGER.log(Level.SEVERE,Underlying method threw a Throwable - {0},throwable.toString());}return chart; }/*** Build a MethodHandle for calling the appropriate chart generation method* based on the provided ChartTypes choice of chart.* * param chartChoice ChartTypes instance indicating which type of chart* is to be generated so that an appropriately named method can be invoked* for generation of that chart.* return MethodHandle for invoking chart generation.*/ private MethodHandle buildAppropriateMethodHandle(final ChartTypes chartChoice) {MethodHandle methodHandle null;final MethodType methodDescription MethodType.methodType(XYChart.class, Axis.class, Axis.class);final String methodName generate chartChoice.getChartTypeName() Chart;try{methodHandle MethodHandles.lookup().findVirtual(this.getClass(), methodName, methodDescription);}catch (NoSuchMethodException | IllegalAccessException exception){LOGGER.log(Level.SEVERE,Unable to acquire MethodHandle to method {0} - {1},new Object[]{methodName, exception.toString()});}return methodHandle; } 随后的一系列图像显示了由JavaFX渲染时这些XY图表的显示方式。 面积图 条形图 气泡图 折线图 散点图 如上所述方法句柄可能已经被用来进一步减少代码因为用于生成每个XYChart单独方法不是绝对必要的并且可以根据所需的图表类型进行反射式调用。 还值得强调的是如果x轴数据是数字的则对于所有的XYChart类型包括气泡图代码都是相同的并且可以反射地调用。 JavaFX使得生成代表所提供数据的有吸引力的图表变得容易。 Java 7功能使代码更简洁更具表现力并在适当的时候允许容易地应用反射从而使此操作变得更加容易。 参考来自JCG合作伙伴 Dustin Marx的JavaFX 2 XYCharts和Java 7功能来自Inspired by Actual Events博客。 翻译自: https://www.javacodegeeks.com/2013/01/javafx-2-xycharts-and-java-7-features.htmljava 和javafx

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

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

相关文章

网站首页做一点开有动画视频生成链接在线工具

您好,欢迎来到新研之家 文章关键词:AF647 二苯并环辛炔,AF647 DBCO,Alexa Fluor 647 DBCO,AF647-二苯并环辛炔,AF647-DBCO 一、基本信息 产品简介:Alexa Fluor 647是一种独特的远红色染料&am…

360网站建设价格建筑电气与智能化

一、什么是爬虫? 爬虫是网络爬虫的简称,指的是一种自动化程序,用于在互联网上抓取信息。爬虫的核心工作包括爬取网页、解析数据和存储数据。 通俗来说就是:通过一个程序,根据url(http://taobao.com)进行爬取网页&…

做平面设计买哪个素材网站会员简单动画制作

上世纪九十年代,Internet快速发展催生了大量在线网站,Web访问量迅速提升。在互联网泡沫破灭前,这个领域基本是围绕如何对Web网站进行负载均衡与优化。从1997年F5发布了BIG-IP,到快速地形成完整ADC产品线,企业级负载均衡…

怎样可以查看网站是由哪个公司做的网站调用字体库

(本文为简单介绍,个人观点仅供参考) 嵌入式系统是建立在微处理器基础上的计算机系统,用于对专门的功能进行控制、运算和接口。它结合了硬件和软件,可以提供实时的响应,广泛应用于工业控制、通信、医疗、交通等领域。 嵌入式系统的核心是微处理…

招标网站排名前十名邵阳住建部网站

虽然现在网盘非常普及,但是对于一些重要文件的同步,很多朋友仍然在使用U盘进行同步。常规的方法是在A电脑将文件复制到U盘,然后在B电脑插入U盘,再将需要同步的文件复制到B电脑。这种操作不仅效率低,而且容易漏掉文件。…

seo网站培训凡客诚品的支付方式

Mozilla Firefox 起源于开源运动兴起之初建立的一个项目组织——Mozilla 社区,可以说是最早以“开源”名义出现,并取得成功的项目之一。Firefox 首次发行是在2002年的9月23日,当时的代号为“Phoenix”(凤凰)。18年过去…

上传网站数据库吗淘宝短网址生成

纯JDBC系统的开发随想前两天,两个个纯后台应用项目在没有充分论证的情况下使用了SpringiBatis实现,从需求到实现、测试历经两天时间,实际代码开发时间是8小时,时间比较短,因为有以前的代码积累。再加上对框架熟烂于心&…

怎么做北京pk10的网站wordpress api key

桌面功能介绍: 1:支持本地音乐、三方音乐控制播放展示功能; 2:支持陀螺仪 3:支持蓝牙列表显示。

网站建设与设计建筑工程信息价哪里可以查询

什么是多线程? 多线程类似于同时执行多个不同程序,多线程运行有如下优点: 使用线程可以把占据长时间的程序中的任务放到后台去处理。 用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹…

一个wordpress模版几个网站一级a做爰片免费网站孕交视频

本文基于移动端动态化方案在知乎原生推广落地页「知乎画报」上的实践经验,对该方案技术升级过程中的思考以及技术关键细节做了详尽的解读。商业化是互联网公司发展的重要阶段,App 端的商业广告业务对移动端动态化能力的需求很强烈,一方面需要…

鞍山创网站怎么创必应搜索引擎地址

首先在sql中查询计划事件的状态:SHOW VARIABLES LIKE event_scheduler如果返回的是off表示当前是关闭状态,如果是on当前已经开启了计划任务。在mysql程序的目录下找到my.ini文件,添加一个项:event_scheduler 1保存后重启mysql服务…

导航网页wordpress+优化速度

[基础知识点] 10 个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树; 10 个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法 [学习技巧] 学习它的“来历”“…

沧州做网站的游戏网站搭建需要多少钱

8086有如下3条一般移位指令 SAR OPRD,M ;算术右移 对无符号数和有符号数而言右移1位相当于原数除以2 SHR OPRD,M ;逻辑右移 对无符号数右移1位相当于原数除以2 SHL OPRD,M/SAL OPRD,M ;逻辑/算术左移(两个助记符只有一个机器指令,进行相同的动作)左移1位相当于原数*2

音乐网站 源码网站ui设计基础

集合类型 (Set) 是一个无序并唯一的键值集合。它的存储顺序不会按照插入的先后顺序进行存储。 集合类型和列表类型的区别如下: 列表可以存储重复元素,集合只能存储非重复元素;列表是按照元素的先后顺序存储元素的,而集合则是无序方式存储元素的。一、集合对象概述 特点:集…

金色财经网站开发外贸网站建设步骤

编者按:1991年微软研究院成立,三十年坚持不懈的探索成就了微软研究院今天在全球计算机科研领域的位置。在接下来的10年、30年中,科研世界会呈现何种面貌?下一个技术创新的突破点在哪里?微软又将怎样持续发挥作用&#…

网站域名怎么购买小程序开发网站

C进阶专栏:http://t.csdnimg.cn/HGkeZ 目录 1.前言 2.std::is_invocable_v 3.std::jthread 3.1.构造函数 3.2.std::jthread无需join/detach使用实例 3.3.std::jthread处理外部请求中断实 3.4.处理中断请求示例代码 4.特性 5.总结 1.前言 C11以来提供了C原…

网站建设 开发网站代码亚马逊网站建设

关于时区的概念,其实初中地理课已经涉及,很多人都多少了解一些,可能只是细节搞不太清楚。为什么会将地球分为不同时区呢?因为地球总是自西向东自转,东边总比西边先看到太阳,东边的时间也总比西边的早。东边…

企业网站素材图片wordpress 获取pageid

原因是在代码中使用了dynamic关键字,导致release时.net native优化了代码造成元数据丢失 所以在代码中要尽量不用dynamic。转载于:https://www.cnblogs.com/poison/p/7532142.html

网站购物车功能postgresql wordpress

Linux的软件少主要是,十几二十年前,要在Linux上开发软件,要遵循开源协议,也就意味着你在上面开发个的公开应用都得开源,至少得公开一部分,所以很多商业闭源应用都绕过了Linux。现在随着Linux的分支越来越多…

做pc端网站咨询网站优化怎样提高网站用户体验

通过以上代码可以看出Qt的坐标体系。 以左上角为原点(0,0),以向右的方向为x轴的正方向,以向下方向为y轴的正方向。 对于嵌套窗口,其坐标是相对于父窗口来说的。顶层窗口的父窗口就是屏幕。