如何创建背景网格

2023-12-02

我想创建一个网格作为我的 JavaFX 应用程序的背景。我当前的解决方案是在画布上绘制一个矩形,从中创建一个图像图案并将其设置为填充。

Question:有没有更好的方法来解决这个问题,最好是通过CSS?

当前版本:

public class BackgroundGrid extends Application {

    double gridSize = 20;

    @Override
    public void start(Stage primaryStage) {

        Scene scene = new Scene(new Group(), 800, 600);
        primaryStage.setScene(scene);
        primaryStage.show();

        scene.setFill(createGridPattern());

    }

    public ImagePattern createGridPattern() {

        double w = gridSize;
        double h = gridSize;

        Canvas canvas = new Canvas(w, h);
        GraphicsContext gc = canvas.getGraphicsContext2D();

        gc.setStroke(Color.BLACK);
        gc.setFill(Color.LIGHTGRAY.deriveColor(1, 1, 1, 0.2));
        gc.fillRect(0, 0, w, h);
        gc.strokeRect(0, 0, w, h);

        Image image = canvas.snapshot(new SnapshotParameters(), null);
        ImagePattern pattern = new ImagePattern(image, 0, 0, w, h, false);

        return pattern;

    }

    public static void main(String[] args) {
        launch(args);
    }
}

enter image description here

非常感谢!

编辑:为了获得清晰的网格线,只需使用

gc.strokeRect(0.5, 0.5, w, h);

我认为这在 CSS 中是不可能的,不是吗?

enter image description here


你也可以用 CSS 来做到这一点。这就是您所需要的:

.root {
    -fx-background-color: #D3D3D333,
        linear-gradient(from 0.5px 0.0px to 10.5px  0.0px, repeat, black 5%, transparent 5%),
        linear-gradient(from 0.0px 0.5px to  0.0px 10.5px, repeat, black 5%, transparent 5%);
}

gradient

0.5px 偏移解决了从 0px 设置到 10px 时的一些错误行为,并且某些线条使用两个像素而不是一个像素进行渲染:

wrong gradient

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何创建背景网格 的相关文章

  • 通过 JavaScript 检测浏览器换行

    我需要 javascript 来检测每个浏览器包装的文本行并将其包装到 span class line 我读过一些关于测量每个单词的 y 轴的文章 但还没有看到可靠的解决方案 这是我到目前为止所拥有的 看到它Jsfiddle http js
  • 将样式添加到 mat-autocomplete 的 mat-option

    我有这个 HTML代码在这里 https stackblitz com edit angular mat autocomplete with selected value vx1uqg file src 2Fapp 2Fautocomple
  • Flexbox 不适用于 iPad 和 Safari [重复]

    这个问题在这里已经有答案了 我在网站上使用 Flexbox 但它在 iPad Air iPad 3 和 Safari PC 上崩溃 设计和代码与此 codepen 类似 http codepen io anon pen xwJzEg htt
  • 每 3 秒重复一次动画

    我正在使用 WOW js 和 animate css 现在我正在将 CSS 运行到 Infinite 我想知道如何让我的课程运行 3 秒停止并再次开始到无限 My html img src images fork png class for
  • 禁用引导列上的滚动

    我正在尝试禁用引导列上的滚动 这是我的代码 div class container fluid h 100 div class row h 100 div class col 4 h 100 bg dark fixed div div cl
  • 使用 JavaScript 使链接保持活动状态并在单击时显示悬停效果

    I am struggling to make this work I d like to make it where if O F is clicked the hover state stays active if another li
  • 现在 CSS3 供应商前缀有多必要? [复制]

    这个问题在这里已经有答案了 我只是想知道现在在 CSS 中指定 webkit moz ms 或 o 等供应商前缀在多大程度上仍然有必要 如果我理解正确的话 opera 切换到了 webkit 所以会删除 o 对吗 IE 在 IE10 中不再
  • 为什么元素上的负底部边距会降低该元素父元素的高度?

    这可能是由于边距折叠造成的 我知道边距折叠 至少知道它如何影响相邻元素 但我不明白当涉及负边距时它如何在嵌套元素上工作 例如 在此标记和随附的 CSS 中 Markup div class parent div class child Ch
  • CSS 是否有不等于选择器?

    CSS中有类似 不等于 的东西吗 例如 我有以下代码 input 但对于某些输入 我需要将其作废 我想通过将类 reset 添加到输入标签来做到这一点 例如
  • 使用 Java 清理 CSS

    Java 中有没有一个好的库可以清理 CSS 样式表 我们希望允许管理员用户上传 CSS 样式表来控制他们管理的网站部分的外观 当然 我们不希望出现诸如background url javascript 之类的XSS攻击 因此我们正在寻找一
  • 比例背景图像

    我想放大和缩小页面中的背景图像 我尝试过多种方法 但似乎没有一种方法能按照我想要的方式工作 我的页面的网址是http quaaoutlodge com drupal 7 14 http quaaoutlodge com drupal 7 1
  • css3动画硬闪烁(帧之间没有淡入淡出)

    尝试使用 css3 动画连续闪烁三个元素 我已经让它运行了 但是每一帧都有一个淡入淡出 我想将其删除 理想情况下 每个元素保持可见 1 秒 然后立即隐藏 我尝试将动画设置为帧0 and 99 for opacity 1 and 100 fo
  • 更改链接悬停时的正文背景颜色

    当鼠标悬停在页面上时如何更改页面背景a 我正在寻找仅 css 的解决方案 我知道你可以通过 css 到达子元素 但我不知道如何 是否可以到达主体 看看这个DEMO http jsfiddle net bhavuksuthar bjsvhze
  • Windows Phone 8 中的 Webview 弹跳

    我需要知道是否有任何方法可以控制 Windows 8 中的 webview 弹跳属性 我已经尝试过 ms touch action none 它确实会停止弹跳 但会禁用应用程序中的整个滚动 我已尝试以下方法 但这些方法不起作用 backfa
  • 如何在光标下的所有元素上调用 mouseover?

    我有一个网络应用程序 每次单击时都会创建一个点 见下文 当我将鼠标悬停在一堆点上时 我希望光标下的每个点都会触发 mouseover 或 mouseenter 事件 然而 只有一个事件被触发 即堆栈 顶部 的点的事件 当鼠标移动到一堆多个点
  • 在 IntelliJ 中创建可执行 JAR(Java 18、JavaFX 18 Maven 项目),“警告:不支持的 JavaFX 配置...”

    我有一个 Java 18 JavaFX 18 Maven 项目 除了 javaFX 库之外 它还有很多库需要包含在工件中 我想创建一个工件 一个 jar 其中包含所有依赖项 我开始按照这个视频来创建 jar https www youtub
  • 使用文本遮盖视频

    是否可以使用 HTML CSS 文本来屏蔽视频 我已经找到并设置了这种工作方式 但没有一种允许文本后面有透明背景 例如 这支笔要求您进行某种填充 它并不是真正掩盖实际视频 而是创造幻觉 https codepen io dudleystor
  • 有没有办法防止输入 type=“number” 获得多个点值?

    我只想得到十进制值 如 1 5 0 56 等 但它允许多个点 有什么办法可以预防吗 您可以使用pattern属性
  • 使用 jquery 提供附加功能时菜单未正确对齐

    I need to make a mega menu similar to one as show in image below 到目前为止 我已经能够在某种程度上使其发挥作用 例如jsFiddle 在这里 http jsfiddle ne
  • Bootstrap 3 多个导航栏

    我在 Twitter Bootstrap 3 中的多个引导程序中遇到问题 第一个导航栏可以正常调整大小和响应 第二个导航栏在正常分辨率下无法正常工作 但是当我尝试调整大小以响应并调整大小后 它可以正常工作 这是一些代码

随机推荐

  • 使用 css 垂直流动的文本

    我想要一个包含一些文本的 div 但我希望文本垂直流动而不是水平流动 像这样 M y t e x t 关于如何用 CSS 实现这一点有什么想法吗 如果你只有一个line您可以尝试使用的文本width 1em letter spacing 1
  • 需要改变不同结构中的公共字段的方法

    我在这里使用 C 语言进行编程 适用于 Windows 和各种 Unix 平台 我有一组具有共同字段的结构 但也有不同的字段 例如 typedef struct char street 10 char city 10 char lat 10
  • 如何在 docker-compose 中将两个正在运行的容器相互连接?

    所以我有这个简单的 Python Flask 应用程序 其中有 2 个服务 应用程序和数据库 我希望应用程序 Flask 应用程序 连接到数据库服务 PostgreSQL 现在 当我注释掉应用程序服务并运行docker compose up
  • 面向对象的pyplot

    我需要处理 pyplot 对象 例如图形和轴 这是我想要的一个简化示例 In 1 import matplotlib pyplot as mp In 2 fig mp figure create a figure In 3 mp show
  • Java8时间库不能正确解释BST时区

    我正在迁移我的代码以使用java time包但我发现DateTimeFormatter无法正确解释时区 BST 英国夏令时间 而不是制作它UTC 0100 它将其转换为太平洋 布干维尔时区 有谁知道我如何解决这个问题而不需要回到旧的 Sim
  • 将 linq 连接的左侧或右侧填充为相同的行数

    我的目标是创建一个右侧或左侧行数相同的列表 无论左列或右列是否比另一列短 考虑这两个查询 var result1 from f in list2 join b in list1 on f index equals b index into
  • 以编程方式提交作业时 Spark EC2 集群上出现 java.io.EOFException

    真的需要你的帮助来理解我做错了什么 我实验的目的是以编程方式运行 Spark 作业 而不是使用 spark shell 或 spark submit 这些都对我有用 环境 我使用 spark ec2 脚本创建了一个包含 1 个主节点和 1
  • 正则表达式 - Unicode 属性参考和示例

    我对 RegexBuddy 提供的正则表达式 Unicode 属性感到迷失 我无法区分任何数字属性 并且数学符号属性似乎仅匹配 但不是 例如 是否有任何带有正则表达式 Unicode 属性示例的文档 参考 Unicode 字符属性 您在示例
  • 无法从 ionic 注销

    您好 我有离子登录和注销的问题 每次注销后 我仍然可以单击后退按钮 它会将我带回到上一页 我可以知道如何在注销时清除或删除会话 以便用户无法从登录返回上一页吗 var default stat scope logout function i
  • 类型错误:无法将 Sparsetensor 类型的对象转换为 Tensor

    我正在为 imdb 情感分析数据集构建文本分类模型 我下载了数据集并按照此处给出的教程进行操作 https developers google com machine learning guides text classification
  • Python3 CGI HTTPS 服务器在 Unix 上失败

    这个Python3 CGI HTTPS服务器几周 或几个月 前可以工作 但现在不再在Linux Ubuntu 下工作 我在 Ubuntu 10 04 和 Ubuntu 14 04 上尝试过 行为是相同的 现在 当我尝试访问任何 CGI 脚本
  • 在 XSL 中进行双遍?

    是否可以将 XSL 转换的输出存储在某种变量中 然后对变量的内容执行附加转换 全部在一个 XSL 文件中 XSLT 2 0 首选 XSLT 2 0 解决方案
  • 如何暂停读取 xls 文件的每一行

    我的 mac 桌面上有一个 xls 文件 其中有很多行 每行由一个单词组成 我想要的是在终端中每行显示 3 分钟 请注意 xls 的版本是 2016 谢谢如何使用python获取Excel工作表中的行号 import pandas as p
  • 添加 Google Conversion Tracking SDK iOS-3.0.0 时应用程序崩溃

    我将 GoogleConversionTrackingSDK 添加到我的项目中 然后调用该函数 ACTConversionReporter reportWithConversionID 972050884 label Bzk1CIzPkAk
  • 如何将 JSON 对象保存到 Core Data?

    我是 Core Data 中的 nwebie 我设计了一个基于导航的应用程序 我使用的一些数据是在运行时创建的 来自通过 JSON 的 URL 我学习了一些教程并搜索了几乎一天 但仍然没有意识到如何将传入的 JSON 数据保存到我的核心数据
  • 检查VBA中的列是否存在值

    我有一列超过 500 行的数字 我需要使用 VBA 检查变量 X 是否与列中的任何值匹配 有人可以帮帮我吗 范围的查找方法比使用 for 循环手动遍历所有单元格更快 这是在vba中使用find方法的示例 Sub Find First Dim
  • wmi c# - WMI 给出不正确的电压读数

    所以我用 WPF C 和 WMI 编写了一个程序作为一个小项目来收集计算机的规格 并将其放在 SourceForge 上 因为它对我来说没什么用处 我很快发现 SoftPedia 已经发现了它 并在他们的屏幕截图中注意到电压读数有错误 这是
  • javascript 块中的 HTML 注释?

    我有一个像下面这样的函数 它在 HTML 页面中插入一段 HTML 代码 function someEventHandler htmlContent document getElementById some element id inner
  • C# 将魔术字符串转换为 lambda 表达式

    我有一组扩展方法 允许在 LINQ 中使用魔术字符串OrderBy 方法 我知道第一个问题是为什么 但它是通用存储库的一部分 并且具有灵活性 以便可以从 UI 发送字符串并直接使用 如果您传入一个代表您正在查询的主要实体上的属性的魔术字符串
  • 如何创建背景网格

    我想创建一个网格作为我的 JavaFX 应用程序的背景 我当前的解决方案是在画布上绘制一个矩形 从中创建一个图像图案并将其设置为填充 Question 有没有更好的方法来解决这个问题 最好是通过CSS 当前版本 public class B