【问题标题】:JPanel moving by itself when components are added to it [closed]JPanel 在添加组件时自行移动[关闭]
【发布时间】:2015-02-17 09:59:58
【问题描述】:

我是使用 Java 构建 GUI 的新手,在我第一次尝试时,我决定创建一个扫雷克隆。一切都很顺利,直到在运行时生成字段图块。我有一个足够大的 JPanel (FlowLayout) 字段,可以包含 16*16 个我的图块,其中每个图块本身就是一个 JPanel(CardLayout 由标签和顶部的按钮组成)。我设法让瓷砖正确显示,但我有一个小问题。添加第 13 个图块后,每个下一个图块将整个字段面板连同其上方的一些组件一起向右移动,这些组件不属于字段面板本身。如果我添加所有 256 个图块,则整个字段会出现在屏幕之外的某个位置,其上方的组件也是如此。

这是什么原因造成的,我该如何解决?

以下是问题和表单设计的一些截图:

Screenshots

【问题讨论】:

  • 我建议在该字段中使用GridLayout
  • 为了尽快获得更好的帮助,请发布MCVE(最小完整可验证示例)或SSCCE(简短、自包含、正确示例)。除了@kiheru 的建议,另请参阅使用GridLayout 创建棋盘的short example

标签: java swing user-interface jpanel layout-manager


【解决方案1】:

您有一个足够大的 JPanel (FlowLayout) 字段,可以包含 16*16 个地雷图块。将此布局更改为 GridLayout。您可以在此处查看参考:http://docs.oracle.com/javase/7/docs/api/java/awt/GridLayout.html

【讨论】:

  • 为什么要为空,GridLayout 不是更好的选择
  • 哦,是的,我忘记了那个。 >,
  • 更好........
  • @bayuforest 我尝试了网格布局。移动幅度有很大提升,但还是向右移动了一点:Screenshot
  • 我认为 JFrame 中的 JPanel 比 JFrame 大。
猜你喜欢
  • 2013-03-02
  • 1970-01-01
  • 2014-10-28
  • 1970-01-01
  • 1970-01-01
  • 2014-05-17
  • 1970-01-01
  • 1970-01-01
  • 2016-11-19
相关资源
最近更新 更多