java - 如何从具有 GridBagLayout 布局的 JPanel 中获取位于特定 gridx、gridy 中的组件?

标签 java swing user-interface gridbaglayout

我有一个带有 gridbaglayout 布局的 jpanel,其中我有几个 jtextfields、几个 jlabels、几个动态添加的 jbuttons。因此我不知道他们的具体命令,因此不能使用 panel.getComponent(count)。我查看了 api 是否有类似 getGridx(int x) 或 getGridy(int y) 的东西。没找到。有没有类似的方法?

最佳答案

最简单的解决方案可能是使用 GridBagLayout#getConstraints(Component)并简单地遍历所有组件,直到找到与所需网格位置匹配的组件...

Component match = null;
GridBagLayout layout = ...
for (Component comp : getComponents()) {
    GridBagConstraints gbc = layout.getConstraints(comp);
    if (gbc.gridx = x && gbc.gridy = y) {
        match = comp;
        break;
    }
}

关于java - 如何从具有 GridBagLayout 布局的 JPanel 中获取位于特定 gridx、gridy 中的组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19043373/

相关文章:

java - 在 JToolBar 中使用 for 循环添加动态加载图像

WPF:无法设置焦点

iphone - 如何在 Photoshop 中为 iOS 创建可调整大小的标题图像?

swift - 如何在六边形 "map" View 中生成 UIImages

java - 为什么非 volatile 方法有效?

java - 如何静默编译Java文件除非出现错误?

java - 调用java方法绘制图形

java - 为 JXTable 中的一些行着色

java - 使用 Java 读取 C 驱动器上每个文件的元数据和 MD5 哈希值

java.sql.SQLException : Io exception: Size Data Unit (SDU) mismatch