javafx canvas_JavaFX技巧1:可调整大小的Canvas

javafx canvas

在使用FlexGanttFX时,我不得不处理很多JavaFX Canvas节点。 我正在使用它在时间轴上呈现活动。 甘特图中的每一行都是一个Canvas节点。 用户可以选择单独调整每行的大小。 因此,我不得不找出调整画布大小的最佳方法,这种现成的方法无法调整大小。 下面的清单显示了如何完成此任务。



所需的主要步骤是:

  • 创建Canvas的子类。
  • 重写isResizable()方法并返回true。
  • 重写prefWidth()prefHeight()方法。 返回Canvas.getWidth()Canvas.getHeight()的值。
  • 将侦听器添加到“ 画布”的width和height属性中,以便在画布大小更改时触发重绘。
  • 将“画布”的width和height属性绑定到父窗格的width和height属性。
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.stage.Stage;/*** Tip 1: A canvas resizing itself to the size of*        the parent pane.*/
public class Tip1ResizableCanvas extends Application {class ResizableCanvas extends Canvas {public ResizableCanvas() {// Redraw canvas when size changes.widthProperty().addListener(evt -> draw());heightProperty().addListener(evt -> draw());}private void draw() {double width = getWidth();double height = getHeight();GraphicsContext gc = getGraphicsContext2D();gc.clearRect(0, 0, width, height);gc.setStroke(Color.RED);gc.strokeLine(0, 0, width, height);gc.strokeLine(0, height, width, 0);}@Overridepublic boolean isResizable() {return true;}@Overridepublic double prefWidth(double height) {return getWidth();}@Overridepublic double prefHeight(double width) {return getHeight();}}@Overridepublic void start(Stage stage) throws Exception {ResizableCanvas canvas = new ResizableCanvas();StackPane stackPane = new StackPane();stackPane.getChildren().add(canvas);// Bind canvas size to stack pane size.canvas.widthProperty().bind(stackPane.widthProperty());canvas.heightProperty().bind(stackPane.heightProperty());stage.setScene(new Scene(stackPane));stage.setTitle("Tip 1: Resizable Canvas");stage.show();}public static void main(String[] args) {launch(args);}
}

运行时,您应该看到以下内容:

bildschirmfoto-2014-04-10-um-11-30-31

翻译自: https://www.javacodegeeks.com/2014/04/javafx-tip-1-resizable-canvas.html

javafx canvas

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

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

相关文章

工业级4G无线路由器有哪些特点如何选择

工业级4G无线路由器因其具性能高。传输速度快且数据处理能力强等这些比较突出的特点,在电力、交通、金融、工控等各大行业中都有着广泛的应用,并受到了人们高度推崇和青睐。那么,工业级4G无线路由器有那些的特点受到消费者的青睐呢&#xff1…

3分钟看懂工业交换机EMS试验和高低温测试

机子行不行,全靠试验评。上期IES6312的开箱视频中提到,我们该如何确定产品的稳定和可靠性,本期就是12口全千兆二层网管型工业以太网交换机系列测试视频,全视频一共做了4项试验:高低温测试、EMS试验三个(静电…

NB-IoTDTU对比于3G/4G DTU的区别和优势

作为物联网领域的新兴技术,低功耗广域网技术NB-IOT自2016年问世以来,围绕着其开展的技术研发和市场布局也在高速的发展中。而曾占据历史舞台的传统的基于移动网络的3G/4G DTU也依然活跃在人们的眼中,那么新兴的NB-IOT DTU和3G/4G DTU有哪些区…

linux 中文ssid 显示,无法连接中文 SSID 的 Wi-Fi?简单几步就搞定!

忙里偷闲,今天把树莓派拿出来准备搞点事情,但发现宿舍的中文 SSID 无法被树莓派正确识别,变成了一堆 16 进制数:虽然如此,但我猜测只是显示上的问题,猜得出是哪个 Wi-Fi,剩下应该就没什么问题了…

安防专用交换机的应用介绍

安防专用交换机作为特别类型的交换机,最近几年,由于监控行业的迅速普及与应用,安防专用交换机开始迅速在安防领域内普及,使用数量急剧增加,为安防行业的发展,提供了强有力的源动力。那么,安防工业交换机的应…

ZigBee技术的应用和优势

ZigBee一词源自蜜蜂群在发现划分位置时,通过跳ZigZag形舞蹈来告知同伴,来达到交换信息的目的。可以说是一种小的低信息量的“无线"通信方式,人们也就借此称呼一种专注于低功耗,低成本、低复杂度、低速率的、低速率的近程无线…

linux 下 storm环境搭建,Storm在Ubuntu环境下的单机部署

Storm在Ubuntu环境下的单机部署目录查看Ubuntu安装JDK安装Pythod安装Zookeeper安装ZeroMQ安装Jzmp安装Storm查看Ubuntu是32位还是64uname -a返回结果 > SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux,可知Ubuntu为64位安装JDK#下载64位的JDKwget http:…

物联网中常见的传感器类型

物联网(IOT)是最近几年来最热门的技术流行语,它指的是:在收集、共享和分析数据,并从中创造价值。但如果没有准确数据,物联网也将成为一对无用的技术,因此,传感器和执行器的重要性使其…

杭州飞畅告诉你工业环网交换机到底是什么?

环网交换机是一种特殊的交换机,因为主流的环网交换机均为工业交换机,因此一般可以将其称为工业级环网交换机。那么,工业环网交换机到底是什么呢?接下来我们就跟随飞畅科技的小编一起来详细了解下吧! 环网,…

工业级以太网交换机具有哪些优越特性

与商用交换机相比,工业交换机在性能上要稳定,需要耐受严苛的工作环境。工业交换机产品采用宽温设计,防护等级不低于IP30,支持标准和私有的环网冗余协议。那么,工业级以太网交换机具有哪些优越特性呢?接下来我们就跟随…

工业物联网的应用领域和方向

从一定的程度上来说,物联网可以说是个“旧瓶装新酒”的概念,提出物联网——IoT(Internet of things)这个概念的确算是一种创新,但是也要把这个创新和传统的M2M——机器互联(machine to machine)…

物联网控制系统

物联网的发展和使用是跨时代的改变,在当今我们这个科技高速发展的时代,智能控制就是改善我们生活水平的主要方式。 随着物联网概念的深入,从智能路灯、智能家居到智慧农业、工业互联网,物联网不断的渗透到了各行各业当中&#xff…

POE供电的安全传输距离,网线的选择有哪些建议

POE供电的安全传输距离100米,建议使用超五类全铜网线。用标准以太网线缆传输直流电是可以传输很远的,那为什么传输距离会被限制在100米呢?接下来我们就跟随飞畅科技的小编一起来详细了解下POE供电的安全传输距离。 事实是POE交换机最大传输距…

zigbee是什么,为什么说它最适合智能家居设备

Zigbee是什么? 如果您的家里面有使用一款智能家居技术,那么这款技术就很有可能就是用的zigbee协议。Zigbee是一种无线通信协议,是基于IEEE820.15.4标准的低功耗局域网协议。是根据国际标准规定的,zigbee技术是一种短距离、低功耗的无线通信技…

lora模块在牛联网和智慧农业中的应用案列

LoRa为代表的低功率广域网(LPWAN)在全球范围中都得到了广泛的使用,由于它是一种开放式的通信标准,因此不仅是农场的专用网络到农业机械和农产平的状态监测等,都可以使用LoRa系列的产品。 牛联网 物联网不仅仅可以连接物…

工业交换机防护等级介绍

工业交换机防护等级,IP(INGRESS PROTECTION,进入防护)防护等级系统是由IEC(INTERNATIONAL ELECTROTECHNICAL COMMISSION,国际电工协会)所起草。将电器依其防尘防湿气之特性加以分级。这里所指的外物含工具,人的手指等均不可接触到…

休眠多对多教程

介绍: 在本教程中,我们将学习使用Hibernate ManyToMany注释定义和使用多对多实体关联。 上下文构建: 为了继续学习本教程,我们假设我们有两个实体- 雇员和资格: 众所周知,一名雇员可以拥有多个资格。 此外…

深度区分LoRa和LoRaWAN的区别

1.总体介绍 随着物联网技术的飞速发展,NB-IoT、LoRa、SigFox等通信技术名词我们也偶尔有所闻,对于普通人或者是刚刚接触物联网领域的人来说,在一大堆名词前面可能也是分布清楚,本文也将针对LoRa和LoRaWN做详细的介绍和比较。 总体…

工业交换机为何要老化测试

老化测试检测标准可以根据客户指定,无特殊要求即根据国家相应标准进行老化测试检验。老化测试主要是模拟产品在现实使用过程中的各种恶劣条件的高强度测试,同时根据使用的要求,合理地预测产品使用寿命。接下来飞畅科技的小编来为大家详细介绍…

物联网技术lora的简介和应用

物联网的通信传输技术,有很多种常用的方案,除了LORA以外,还有NB-IoT、WIFI、蓝牙、Zigbee、Dustl和sub-1GHz等,不同的通讯技术也有着不同的特点,和各自适合的应用场景。但是对于长距离。低功耗和小数据量的传输的应用场景&#xf…