【问题标题】:Remove last row from JPanel set with GridLayout从使用 GridLayout 设置的 JPanel 中删除最后一行
【发布时间】:2014-07-21 09:41:17
【问题描述】:

我有一个JPanel,其布局为GridLayout。我在主面板的末尾有一个加号按钮,可以将一些面板添加到网格中。我需要一个减号按钮,该按钮随后会删除添加到网格中的最后一行。

我看到了相关的文档,它显示了removeAll() 方法,这对我没有用,因为我只需要删除最后一行。

它还显示了一些remove(int index)。同样,我不知道最后一行的索引,尽管我尝试这样做:

myPanel.remove(0);

但这会删除第一行。

【问题讨论】:

  • 这是单列网格布局吗?考虑改用JList(无论哪种方式)。
  • 是的,它是一个单列网格,因为我基本上是在单击加号按钮时添加整个迷你面板
  • int count = panel.getComponentCount(); panel.remove(count-1);成功了,谢谢 mKorbel

标签: java swing jpanel layout-manager grid-layout


【解决方案1】:

如果要移除索引 x 处的组件:

myPanel.remove(x);

如果您想添加一个组件而不是您已删除的组件:

myPanel.add(component c , x);

那么你应该重绘:

myPanel.validate();
myPanel.repaint();

【讨论】:

  • 好吧,对不起:myPanel.remove(x); //其中 x 是要删除的组件的索引 myPanel.add(component c , x); //如果你想添加一个组件而不是你删除的那个 myPanel.validate(); myPanel.repaint();
猜你喜欢
  • 2020-07-09
  • 1970-01-01
  • 2011-01-15
  • 1970-01-01
  • 2012-07-24
  • 2012-07-23
  • 2012-08-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多