当前位置: 首页 > news >正文

深圳政府门户网站建设评价下百度安装

深圳政府门户网站建设评价,下百度安装,wordpress中文tag,指定网站建设项目规划书一、功能需要由来和大致效果 今天,我们要用javaFx来实现一个鼠标穿透画布的功能,该需求来自于在我们的javaFx桌面应用中,需要实现一个悬浮的桌面侧边工具栏,在工具栏中有画笔绘制,批注的功能,能够实现在任何…

        一、功能需要由来和大致效果

        今天,我们要用javaFx来实现一个鼠标穿透画布的功能,该需求来自于在我们的javaFx桌面应用中,需要实现一个悬浮的桌面侧边工具栏,在工具栏中有画笔绘制,批注的功能,能够实现在任何软件之上做笔记绘制,同时可以操作工具栏下一层的所有软件。

        我把这个功能提出来了,写了一个demo。大致效果如下:

 当程序启动后,程序的整个背景是透明的,除了程序中的组件,如按钮,这个时候即可以看到背面的任何软件,桌面,也能看到程序中的组件。此时,可以在整个桌面上进行画笔的绘制。

   当我点击鼠标穿透按钮后,画布上的笔记正常显示,同时,我的鼠标可以操作背面的任何软件

     通过上图中的圆圈圈起来的鼠标光标,可以得知,此时我是可以操作背面的程序的。


二、程序实现

      要实现以上效果,其实最关键的几点是:

    1)需要把javaFx中的Scene和stage的背景设置为透明

    scene.setFill(Color.TRANSPARENT);stage.initStyle(StageStyle.TRANSPARENT);

 2)一开始要能够看到当前javafx程序背面的东西,需要设置背景为透明,但不是完全透明,此时才可以在画布上绘制

pane.setStyle("-fx-background-color: rgba(255,255,255,0.1);");

3)要实现鼠标穿透当前画布,进而可以操作画布背面的其它软件,则需要将画布的背景设置为完全透明,透明度为0

pane.setStyle("-fx-background-color: rgba(255,255,255,0);");

4)当不需要操作背面的软件,希望回到画布的绘制时,再把背景的透明度设置为0.1即可。

 是不是很简单呢,好的。以下是实现的全部代码。

 

package test;import java.io.IOException;import javafx.application.Application;
import javafx.application.Platform;
import javafx.event.Event;
import javafx.event.EventHandler;
import javafx.geometry.Point2D;
import javafx.geometry.Rectangle2D;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Polyline;
import javafx.scene.shape.StrokeLineCap;
import javafx.scene.shape.StrokeLineJoin;
import javafx.scene.shape.StrokeType;
import javafx.stage.Screen;
import javafx.stage.Stage;
import javafx.stage.StageStyle;public class Test extends Application {boolean transpant = false;Polyline polyline;Button btn  ;public void start(Stage stage) throws Exception {// TODO Auto-generated method stubPane pane = new Pane();Rectangle2D bounds = Screen.getPrimary().getVisualBounds();double screenWidth = bounds.getWidth();double screenHeight = bounds.getHeight();btn = new Button("鼠标穿透");btn.setPrefWidth(100);btn.setPrefHeight(50);btn.setLayoutX(screenWidth/2);btn.setLayoutY(screenHeight/2);pane.getChildren().add(btn);Scene scene = new Scene(pane, screenWidth, screenHeight);scene.setFill(Color.TRANSPARENT);
//		scene.getStylesheets().add(ToolsBarStage.class.getResource("/res/css/default.css").toExternalForm());stage.initStyle(StageStyle.TRANSPARENT);//pane.setStyle("-fx-background-color: rgba(255,255,255,0.1);");stage.setScene(scene); // Place the scene in the stagestage.show();stage.setAlwaysOnTop(true);	//点击按钮后,切换为批注模式或操作模式btn.setOnMouseClicked(new EventHandler<Event>() {@Overridepublic void handle(Event event) {// TODO Auto-generated method stubif(!transpant) {//关键点,实现鼠标 穿透到可以操作桌面背景pane.setStyle("-fx-background-color: rgba(255,255,255,0);");transpant = true;}else {pane.setStyle("-fx-background-color: rgba(255,255,255,0.1);");transpant = false;}}});//根据鼠标的拖动和按压进行绘制pane.setOnMousePressed(e -> {//设置线条的样式StrokeType strokeType = StrokeType.CENTERED;int strokeMiterLimit = 5;StrokeLineJoin strokeLineJoin = StrokeLineJoin.BEVEL;StrokeLineCap strokeLineCap = StrokeLineCap.ROUND;polyline = new Polyline();polyline.setStrokeLineCap(strokeLineCap);polyline.setStrokeLineJoin(strokeLineJoin);polyline.setStrokeMiterLimit(strokeMiterLimit);polyline.setStrokeType(strokeType);polyline.setStrokeWidth(2);polyline.setSmooth(true);pane.getChildren().add(polyline);});//鼠标拖动绘制pane.setOnMouseDragged(e -> {polyline.getPoints().add(e.getSceneX());polyline.getPoints().add( e.getSceneY());});}public static void main(String[] args) {Test test = new Test();Platform.runLater(() -> {try {Stage stage = new Stage();test.start(stage);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}});}
}

http://www.tj-hxxt.cn/news/56777.html

相关文章:

  • 做网站用cms好吗合肥疫情最新消息
  • 做网站获取手机号码网站排名优化客服
  • 制作页培训大连百度seo
  • 相册制作模板平台优化是什么意思
  • 四川煤矿标准化建设网站免费大数据平台
  • 大学生毕业论文管理系统入口湘潭seo公司
  • 做dm素材网站百度快照有什么用
  • 网站开发毕设任务书百度快照优化推广
  • 视频如何上传到wordpress太原百度网站快速优化
  • 做自己移动端网站怎么优化关键词
  • 网站建站企业网络推广包括哪些
  • 常见的三种网站类型seo外链推广工具下载
  • 网站集约化建设 技术越秀seo搜索引擎优化
  • 中装建设信息流优化师
  • wordpress做出影视网站站长工具ping检测
  • 沈阳网站建设公司怎么样爱站网
  • 长沙网站快速优化排名搜索引擎优化到底是优化什么
  • 合肥做百度网站电影站的seo
  • 免费做图网站衡阳seo快速排名
  • 哪个网站容易做二级域名南京网站制作
  • 网站速度提升什么软件可以排名次
  • 做网站的收费标准网站seo排名优化软件
  • 企业网站建设的常见流程西地那非片
  • 镇江建工建设集团网站百度一下你就知道官网首页
  • wordpress微信付款郑州seo竞价
  • wordpress去谷歌插件河南智能seo快速排名软件
  • 做山西杂粮的网站优化大师官网
  • 做销售用什么网站国外独立站网站
  • 中华住房与城乡建设厅网站网站注册搜索引擎的目的是
  • 网站 服务器 虚拟主机seo网站优化价格