我有一个JDialog,其中包含使用GridBagLayout动态创建的组件行。我使用在此论坛上找到的方法来定位组件。
public static GridBagConstraints makeGbc(int x, int y) {
GridBagConstraints gbc = new GridBagConstraints();
Insets WEST_INSETS=new Insets(5,0,5,5);
Insets EAST_INSETS=new Insets(5,5,5,0);
gbc.gridx = x;
gbc.gridy = y;
gbc.gridwidth = 1;
gbc.gridheight = 1;
gbc.anchor = (x == 0) ? GridBagConstraints.WEST : GridBagConstraints.EAST;
gbc.fill = (x == 0) ? GridBagConstraints.BOTH
: GridBagConstraints.HORIZONTAL;
gbc.insets = (x == 0) ? WEST_INSETS : EAST_INSETS;
gbc.weightx = (x == 0) ? 0.1 : 1.0;
gbc.weighty = 1.0;
return gbc;
}
这样可以轻松地为每个组件指定行和列,并且它可以很好地工作。
我现在想编写一个方法,它将返回相应行和列中存在的任何组件。这是可能的,如果是这样,我将如何实现它? TIA。
这不是重复,因为我知道我想检查的位置,但我不知道那里有什么组件。我需要传递x,y坐标并返回组件。我知道我必须建立一种方法,但我不能看到如何做到这一点。