You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何JavaFX Polyline在Scene Builder中显示白色边框?

问题描述

以下是FXML代码:

<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.Group?>
<?import javafx.scene.shape.Polyline?>

<Group xmlns="http://javafx.com/javafx/18" xmlns:fx="http://javafx.com/fxml/1">
   <children>
      <Polyline points="0.0, 0.0, 100.0, 0.0" strokeLineCap="BUTT" strokeType="CENTERED" strokeWidth="15.0">
      </Polyline>
   </children>
</Group>

打开该.fxml文件时,Polyline的下方和右侧会出现白色边框,如图所示:

带有白色边框的Polyline

注:该FXML未关联任何CSS样式或硬编码尺寸,仅为纯FXML文件。

原因分析与解决方法

这个白色边框是Scene Builder的预览辅助标记,并非实际运行JavaFX应用时会出现的效果。

具体原因:

  • 你设置了strokeType="CENTERED",意味着线条会以路径为中心向两侧扩展绘制。而你的Polyline从(0,0)开始,线条宽度15,所以有一半的线条会落在Group的坐标边界之外。Scene Builder为了直观展示节点的实际占用范围,就用白色边框标出了这部分超出容器可视区域的内容。
  • 实际运行程序时,Group本身没有裁剪功能,超出边界的线条部分会正常渲染,不会出现这个白色边框。

如果想在Scene Builder预览时消除这个标记,有两个简单办法:

  • 调整Polyline的起始坐标,比如把points改成7.5,7.5,107.5,7.5(线条宽度15,一半为7.5),让整个线条完全落在Group的可视范围内。
  • 给Group添加clip属性裁剪超出边界的部分,但这会改变实际运行时的显示效果,按需选择即可。

内容的提问来源于stack exchange,提问作者mircof

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 17:27:15