JavaGridLayout忽略了间隙

JavaGridLayout忽略了间隙,java,swing,layout,grid-layout,Java,Swing,Layout,Grid Layout,我在java的跳棋板上工作。 但我有一个奇怪的问题: 即使我将vgap设置为0,它仍然会创建一个vgap。 正方形之间的高度约为5px。 宽度合适。 这是我的图表对象布局代码: this.setLayout(new GridLayout(10, 10, 0, 0)); this.setPreferredSize(new Dimension(230, 230)); 这就是我实现图表的地方: // The jpanel that has to contain the diagram jpanel.

我在java的跳棋板上工作。 但我有一个奇怪的问题: 即使我将vgap设置为0,它仍然会创建一个vgap。 正方形之间的高度约为5px。 宽度合适。 这是我的图表对象布局代码:

this.setLayout(new GridLayout(10, 10, 0, 0));
this.setPreferredSize(new Dimension(230, 230));
这就是我实现图表的地方:

// The jpanel that has to contain the diagram
jpanel.setLayout(new FlowLayout());
add(jpanel, BorderLayout.WEST);
// The placement of the diagram in that jpanel
jp.add(new diagram());
这就是它的样子:

[][][][][][][][][]
<The spacing that I have to get removed>
[][][][][][][][][]
  • 您必须将JPanel的
    LayoutManager
    从更改为或

  • FlowLayout
    PreferredSize来自分层的jcomponents到容器中(
    JPanel
    ),一切取决于

  • Diagram
    返回
    PreferredSize

  • 是否以及如何使用容器调整图表的大小

  • 如何以及在何处真正使用

  • 为了得到更好的帮助,请尽快发布

      • 您必须将JPanel的
        LayoutManager
        从更改为或

      • FlowLayout
        PreferredSize来自分层的jcomponents到容器中(
        JPanel
        ),一切取决于

      • Diagram
        返回
        PreferredSize

      • 是否以及如何使用容器调整图表的大小

      • 如何以及在何处真正使用

      • 为了得到更好的帮助,请尽快发布


      我通过将图像加载到JPanel而不是JLabel解决了这个问题 我把图像做成了一个缓冲图像
      然后使用drawImage将其绘制到JPanel上

      我通过将图像加载到JPanel而不是JLabel中解决了这个问题 我把图像做成了一个缓冲图像
      然后用drawImage将其绘制到JPanel上

      我猜你放在容器中的任何东西都不够高,放在每个网格单元中。请发布一个完整的例子,重现您的问题。我发现问题的原因是JLabel内的图像没有显示100%的高度,但显示的高度小于100%。如何修改imageIcon的高度?我猜你放在容器中的任何东西都不够高。请发布一个完整的例子,重现您的问题。我发现问题的原因是JLabel内的图像没有显示100%的高度,但显示的高度小于100%。如何修改图像图标的高度?也可以是
      JPanel
      UI委托;使用
      newjlabel(newimageicon())
      没有问题,请参见。也可以是
      JPanel
      UI委托;使用新JLabel(new ImageIcon())没有问题,请参见。
      [][][][][][][][][]
      [][][][][][][][][]
      
      ^
      |
      no spacing between them