首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将位置设置为AnchorPane (未声明)?

问如何将位置设置为AnchorPane (未声明)?
EN

Stack Overflow用户
提问于 2015-10-30 14:16:28
回答 1查看 2.3K关注 0票数 0

我花了很长时间寻找如何向AnchorPane添加一个位置(没有声明的意思是:setMethode(new AnchorPane());)。添加Layout (x,y),设置Pref(Width and Height)等。

我试过了,但没有用:

代码语言:javascript
复制
           .someMethode(new AnchorPane(
                   .setLayoutX(12);
                   .setLayoutY(222);
                   .setPrefWidth(1026);
           ));

有人能帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-30 15:48:05

您所指的可能是双大括号初始化(请参阅What is Double Brace initialization in Java?)。你需要这样写:

代码语言:javascript
复制
.someMethode(new AnchorPane() {{
               setLayoutX(12);
               setLayoutY(222);
               setPrefWidth(1026);
       }});

不过,我认为这是一种糟糕的做法,因为您使用双大括号初始化创建了一个新的匿名类。

替代办法:

  • 使用变量 AnchorPane窗格=新AnchorPane();pane.setLayoutX(12);pane.setLayoutY(222);pane.setPrefWidth(1026);.someMethode(窗格);
  • 创建一个这样做的方法: 静态AnchorPane createAnchorPane(双layoutX,双layoutY,双prefWidth) { AnchorPane窗格=新的AnchorPane();pane.setLayoutX(layoutX);pane.setLayoutY(layoutY);pane.setPrefWidth(prefWidth);返回窗格;}..someMethode(createAnchorPane(12,22,1026));
  • 为AnchorPane创建一个构建器
  • 使用fxml和FXMLLoader,它允许您从文件中创建节点结构。这样创建一个更大的节点结构可能更容易。这将是AnchorPane的fxml文件。
代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>

<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>

<AnchorPane prefWidth="1026" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" layoutX="12" layoutY="222" >
    <!-- add something else here??? -->
</AnchorPane>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33438111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档