Java 使用Grix、gridy删除JTextField
我想知道是否可以使用 GridBagLayout和删除,如下所示Java 使用Grix、gridy删除JTextField,java,eclipse,swing,Java,Eclipse,Swing,我想知道是否可以使用 GridBagLayout和删除,如下所示 PANEL.remove(gridx.5,gridy.5)--
PANEL.remove(gridx.5,gridy.5)
--<这可能吗
或者我怎样才能用这种逻辑来删除。不,没有这样的方法,你需要自己编写
容器
类有一个方法getLayout()
。这将允许您获取面板的GridBagLayout
实例Container
类还有一个方法getComponents()
GridBagLayout
的getConstraints()
方法李>
gridbagstraints
对象的gridx
和gridy
值,查看组件所在的束/行李>
revalidate()
编辑:
在代码的某个地方,您需要将布局管理器设置为GridBagLayout。然后使用GridBagConstraints将组件添加到面板中
以后,如果要从配电盘中删除零部件,则需要参考:
GridBagLayout layout = (GridBagLayout)panel;
Component[] components = panel.getComponent();
for (each component in the array)
{
GridBagConstraint gbc = layout.getConstraints( component )
if (gbc.gridX == ?? && gbc.gridY = ??)
{
// remove the component from the panel
}
}
panel.revalidate();
因此,我建议您创建一个方法,在要查找的组件的行和列中传递。然后可以更改if条件以访问这些参数。createInPanel.getLayout();List components=new ArrayList();addAll(createInPanel.getComponents());其中createInPanel是作为gridbaglayout的面板。我认为我没有正确理解这一点。1)请参见2)使用a,如中所示。3) 为了更快地获得更好的帮助,请添加或。