Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法修复Java FX中GridPane周围的样式化边框_Java_Javafx - Fatal编程技术网

无法修复Java FX中GridPane周围的样式化边框

无法修复Java FX中GridPane周围的样式化边框,java,javafx,Java,Javafx,我正在用Java8创建一个Boggle游戏(使用JavaFX创建GUI),但我似乎不知道如何在GridPane(16个字母的骰子)周围设置固定边框,以便它不会根据窗口调整自身大小 我特意相应地调整了窗口的大小(以适应用户可以创建的大量单词列表),并且我添加到GridPane的白色细边框会继续调整自身大小,即使我仅对GridPane应用了CSS样式(-fx border color and-fx border width),不是包含游戏所有子项的主边框窗格容器。GridPane位于BorderPa

我正在用Java8创建一个Boggle游戏(使用JavaFX创建GUI),但我似乎不知道如何在GridPane(16个字母的骰子)周围设置固定边框,以便它不会根据窗口调整自身大小

我特意相应地调整了窗口的大小(以适应用户可以创建的大量单词列表),并且我添加到GridPane的白色细边框会继续调整自身大小,即使我仅对GridPane应用了CSS样式(-fx border color and-fx border width),不是包含游戏所有子项的主边框窗格容器。GridPane位于BorderPane的中间位置

有什么想法吗


如果外部窗格也是
网格窗格
,则可以将行的
有效期
和列的
有效期
设置为
中心
(版本a)。或者,将内部的
网格窗格
包装成一个
HBox
和一个
VBox
,并将它们各自的
对齐
属性设置为
中心
(版本B)。两者将导致相同的行为:

主类 sample.fxml版本A

sample.fxml版本B


感谢您的回复。但是,我的GridPane设置在一个BorderPane中(在中心区域)。当我调整窗口大小时,我假设BorderPane的中心区域也在调整,但我仍然不理解为什么我添加到GridPane中的CSS(细白色边框)会受到窗口大小的影响。你应该发布你的FXML或UI代码。否则我们无法知道发生了什么。你需要发布代码!
package sample;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(final Stage primaryStage) throws Exception{
        Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
        primaryStage.setScene(new Scene(root, 300, 275));
        primaryStage.show();
    }


    public static void main(String[] args) {
        launch(args);
    }
}
<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.RowConstraints?>

<GridPane gridLinesVisible="true" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity"
          prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/10.0.1">
    <columnConstraints>
        <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
        <ColumnConstraints halignment="CENTER" hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
        <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
    </columnConstraints>
    <rowConstraints>
        <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
        <RowConstraints minHeight="10.0" prefHeight="30.0" valignment="CENTER" vgrow="SOMETIMES"/>
        <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
    </rowConstraints>
    <GridPane gridLinesVisible="true" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity"
              minWidth="-Infinity" prefHeight="50.0" prefWidth="50.0"
              style="-fx-border-color: #ff00ff; -fx-border-width: 1;" GridPane.columnIndex="1" GridPane.rowIndex="1">
      <columnConstraints>
          <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
          <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
          <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
          <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
      </columnConstraints>
      <rowConstraints>
          <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
          <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
          <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
          <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
      </rowConstraints>
    </GridPane>
</GridPane>
<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.RowConstraints?>
<?import javafx.scene.layout.VBox?>

<GridPane gridLinesVisible="true" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/10.0.1" xmlns:fx="http://javafx.com/fxml/1">
    <columnConstraints>
        <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
        <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
        <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
    </columnConstraints>
    <rowConstraints>
        <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
        <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
        <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
    </rowConstraints>
    <HBox alignment="CENTER" GridPane.columnIndex="1" GridPane.rowIndex="1">
        <VBox alignment="CENTER">
            <GridPane gridLinesVisible="true" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity"
                      minWidth="-Infinity" prefHeight="50.0" prefWidth="50.0"
                      style="-fx-border-color: #ff00ff; -fx-border-width: 1;">
              <columnConstraints>
                  <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
                  <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
                  <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
                  <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0"/>
              </columnConstraints>
              <rowConstraints>
                  <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
                  <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
                  <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
                  <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES"/>
              </rowConstraints>
            </GridPane>
        </VBox>
    </HBox>
</GridPane>