java - 添加组件后 JPanel 会自行移动

标签 java swing user-interface jpanel layout-manager

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

造成这种情况的原因是什么以及如何解决它?

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

Screenshots

最佳答案

您有一个字段 JPanel (FlowLayout),其大小足以包含 16*16 的矿井图 block 。将此布局更改为GridLayout。您可以在此处查看引用:http://docs.oracle.com/javase/7/docs/api/java/awt/GridLayout.html

关于java - 添加组件后 JPanel 会自行移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28559261/

相关文章:

java - 正则表达式:匹配逗号后不跟数字

java - 在java中将html文件存储在字符串中

java - 如何获取系统数据并使我的应用程序针对操作系统独一无二

c++ - 与 Windows GUI 交互

java - 三星 Galaxy Y S5360 的布局问题

java - 循环完成的总时间对于每次执行总是不同的

java - 设置 JTableHeader 持有者背景颜色

java - ArrayList 与 jList 的自定义类

user-interface - Eclipse RCP : Display. getDefault().asyncExec 仍然阻塞我的 GUI

layout - 布局/设计长而复杂的 Web 表单以收集用户输入的最佳方式是什么