当前位置: 首页 > 知识库问答 >
问题:

GridPane布局调试行在调用setGridLine时没有按预期显示可见(true)

彭博厚
2023-03-14

我试图在JavaFX中显示GridPane场景的网格线,但尽管调用setGridLinesVisible(true),它们还是没有显示出来。我做错了什么?

我想在程序的主菜单上显示网格线,这样我就可以知道节点在上面的位置。不幸的是,当我运行程序时,所有显示的都是一个带有单个按钮的空白屏幕。

我的主菜单课:

package screens;

import javafx.scene.layout.GridPane;
import javafx.scene.layout.Pane;

/**
 * Creates the main menu Pane object and returns it.
 * @author LuminousNutria
 */
public class MainMenu {

   public MainMenu() {}

   public Pane getPane() {
      GridPane grid = new GridPane();
      grid.setGridLinesVisible(true);

      Button bttn = new Button("button");
      grid.add(bttn, 2, 2);

      return grid;
   }
}

我的主要课程:

package mainPackage;

import screens.*;

import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;

/**
 * Displays the Pane.
 * @author LuminousNutria
 */
public class Main extends Application {

   // create main menu Pane
   private Pane mainMenu = new MainMenu().getPane();

   // create Scene
   private Scene scene = new Scene(mainMenu, 1600, 900);

   @Override
   public void start(Stage stage) {

      stage.setScene(scene);
      stage.show();
   }

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

共有1个答案

萧德庸
2023-03-14

JavaFX的GridPane类只会在程序员设置对象在网格上的位置时创建尽可能多的点。

例如,如果将对象添加到栅格中,且x和y位置均等于0,则栅格将只有一个(x,y)位置,即(0,0)。

此外,即使网格有许多位置,除非程序员设置HGapVgap网格属性,否则网格的所有“位置”都将位于程序创建的窗口中的同一点上。

问题是我没有调整HGapVGap属性,所以整个网格聚集在窗口中的一个点上。这使得不可能看到任何线条。

用下面的代码替换getPane()方法可以让我看到网格线。

public Pane getPane() {
  GridPane grid = new GridPane();
  grid.setGridLinesVisible(true);
  grid.setVgap(8);
  grid.setHgap(8);

  Button btn = new Button("button");
  grid.add(btn, 5, 5);

  return grid;
}

这是我修复程序后显示的内容。

 类似资料:
  • 我想在键盘出现时重新定位布局,例如在编辑文本字段时,以便在聚焦字段上获得可见性。我尝试了WindowsofInputMode,但没有任何区别。如何到达它?非常感谢。

  • 我需要在文件中创建一个图形,而不在IPython笔记本中显示它。我不清楚和。但是,当我调用除了保存在。当自动创建大型打印文件集时,这通常是不可取的。或者在需要另一个应用程序进行外部处理的中间文件的情况下。 不确定这是一个还是笔记本问题。

  • 大家早上好,当显示键盘时,我有一个关于调整布局大小的小问题。 在清单中,我有调整调整大小,我也试图使用调整潘,但我有问题与滚动的回收器视图。 我的布局代码是: 谢谢,谁能帮我

  • 我的目标是实现大多数消息传递应用程序(如Facebook Messenger、Viber、What's up)在显示附件表时所做的事情。如果软键盘可见并且用户想要附加某些东西,则键盘是隐藏的,附件表会在其位置呈现。 为了实现这一点,应该在根视图大小更改时更改布局。否则,在显示/隐藏键盘之前不久应用布局更改时,就会出现图形故障。 如果我可以在键盘隐藏的确切时刻更改我的布局,我可以把它做好。我尝试过使

  • 主要内容:示例,示例2GridPane通常用于布局:第一列上的只读标签的输入表单和第二列上的输入字段。 GridPane可以在行,列或单元格级别指定约束。 例如,我们可以设置包含输入文本字段的第二列,以在窗口调整大小时调整大小。 示例 以下代码演示使用GridPane布局的简单表单应用程序。它有以下布局。 完整的代码实现如下所示 - 上面的代码生成以下结果。 示例2 以下是一个实现登录窗口的代码 - 上面的代码生成以下

  • 问题内容: 我正在为我的学生编写MathQuiz,包括用于渲染的JLatexMath和用于蜂鸣器的jinput。问题是,有时(像每四次一样)当我启动程序时,所有组件都不可见。它们在调整JFrame大小后出现。首先,我想到了jinput或jlatexMath库中的Bug,但是即使使用最小的代码,我也会遇到相同的错误: 代码有什么问题? 问题答案: 首先移到构造函数的末尾。 而不是去这里… 移到这里…