【问题标题】:Round Corners in java fx panejava fx窗格中的圆角
【发布时间】:2017-12-28 17:08:32
【问题描述】:

我正在尝试在我的应用程序中弄圆底角,但结果是这样的:

这是 CSS 文件:

.mainFxmlClass {
  #pane{
    -fx-background-size: 1200 900;
    -fx-background-radius: 0 0 18 18;
    -fx-border-radius: 0 0 18 18;
    -fx-background-color: #FC3D44;
  }
}

还有我的主要课程:

@Override
public void start(Stage stage) throws Exception {
    Parent root = FXMLLoader.load(getClass().getResource("Preview.fxml"));
    Scene scene = new Scene(root);
    stage.setScene(scene);
    stage.show();
}
public static void main(String[] args) {
    launch(args);
}

如何去除这些白角?

【问题讨论】:

  • -fx-border-radius: 10 10 0 0; -fx-background-radius: 10 10 0 0;
  • 尝试将场景的填充设为透明,scene.setFill(Color.Transparent);

标签: java css javafx


【解决方案1】:

如果你不想背景颜色,试试这个:-fx-background-color: transparent;

-fx-background-size: 1200 900;
-fx-background-radius: 30;
-fx-border-radius: 30;
-fx-border-width:5;
-fx-border-color: #FC3D44;

 -fx-background-size: 1200 900;
 -fx-border-radius: 10 10 0 0;
 -fx-background-radius: 10 10 0 0;
 -fx-border-color: #FC3D44;

  /* top-left, top-right, bottom-right, and bottom-left corners, in that order. */

【讨论】:

    【解决方案2】:

    经过这么多研究和西班牙版 Stack O 的帮助,最终去除白角的最简单方法是:

    在主类中你必须添加:

    scene.setFill(Color.TRANSPARENT);
    

    和:

    stage.initStyle(StageStyle.TRANSPARENT);
    

    唯一的问题是StageStyle.TRANSPARENT 会让您没有关闭按钮,因此您必须自己制作。 最后的结果是这样的:

    【讨论】:

    • 这可行,但您还必须确保使用 setBackground() 将窗格设置为透明。这种方法需要几个额外的箍来跳过,但是一旦你知道如何去做就很容易了。 yourPane.setBackground(new Background(new BackgroundFill(Color.TRANSPARENT, CornerRadii.EMPTY, Insets.EMPTY)));
    【解决方案3】:

    但是,如果您想在将背景放入 Css 时使用图片作为背景而不是纯色:

    -fx-background-image: url("backs/background.jpg");
    

    你应该把这样的代码放在你的 Main 类中:

    Rectangle rect = new Rectangle(1024,768);
    rect.setArcHeight(60.0);
    rect.setArcWidth(60.0);
    root.setClip(rect);
    

    I found it here

    【讨论】:

    • 在将其用作背景之前,请尝试将图像四角弄圆。
    猜你喜欢
    • 1970-01-01
    • 2014-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-06
    • 2017-10-18
    相关资源
    最近更新 更多