Java Swing 网格布局 : Accessing Specific Coordinate

标签 java swing jpanel layout-manager grid-layout

我正在创建一个 Java swing GUI,并且已格式化 JPanel 以使用 GridLayout。我需要访问网格的特定“框”(即特定坐标),但我看不到这样做的方法。

我该怎么做?

最佳答案

您不应该依赖 GUI 代码( View )来为您提供有关程序数据(模型)的信息。最好的解决方案是从一开始就“知道”哪个组件在哪里——也许您应该有一个数据结构(二维数组?)来保存组件,并在网格中添加内容时进行更新。

如果你想要一个快速且非常肮脏的修复,你可以开始玩游戏 JPanel.getComponentAt() 。不过,这需要像素坐标,因此您需要进行一些逆向工程来计算给定网格方 block 占用了多少空间。网格方 block 之间的空间is given by your GridLayout object 。但无论如何,不推荐这样做。我只是为了完整起见才将其包括在内(因为这是对您的问题的更字面的回答)。

关于Java Swing 网格布局 : Accessing Specific Coordinate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8394296/

相关文章:

java - 如何使用泛型限制 HashMap 中的键及其值?

java - 在 Java/Swing 的全屏程序中停止使用 Tab/Alt-F4

java - JPanel如何添加ToolTipText

java - JPanel setBackground(Color.BLACK) 什么都不做

java - 将 Shape 的中心与 JPanel 的中心对齐

java - 重绘时随机函数不会再次执行吗?

java - 如何将时间戳字符串转换为另一个时区的时间戳

java - JAVA中多线程的全局求和错误

java - 如何在 Stock 类中进行用户定义输入

java - 如何在 DefaultMutableTreeNode (Java Swing) 中存储 CORBA 对象?