我使用ArrayList将按钮放入JFrame, 现在我想创建一个程序,用特定的键来删除JButton。
然而,当我按下键时,框架上的按钮不会被移除, 但它来自arraylist。
要使上述功能可用,我应该更改框架代码吗? 这是我的框架部分代码
public class DataModel extends JFrame {
JPanel _panel = new JPanel();
Tiles _tiles;
public DataModel(Tiles tiles) {
this._tiles = tiles;
setVisible(true);
_panel.setLayout(new GridLayout(4, 1));
for (int i = 0; i < _tiles.size(); i++) {
_panel.add(_tiles.get(i));
}
add(_panel);
pack();
}
}
答案 0 :(得分:1)
然而,当我按下按键时,框架上的按钮不会被移除,但它会从arraylist中删除。
从可见GUI添加/删除组件时的基本代码是:
panel.remove(...);
panel.revalidate(); // to invoke the layout manager
panel.repaint(); // repaint components after layout manager has done its job