java是否可以在某些布局中对容器中的组件重新排序? 1 年,7 月 Questions & Answers 549 有一些布局,如^{},它们按照添加的顺序维护组件的顺序 添加后是否可能置换某些成分?或者,唯一的方法是清除所有组件,然后以新的顺序再次添加它们
# 1 楼答案 您可以使用JPanel#add(component,index)和JPanel#remove(index)轻松实现它 无需从容器中移除所有组件。只需移除所需组件并在所需位置添加新组件 示例代码: final JPanel panel = new JPanel(new FlowLayout()); for (int i = 0; i < 10; i++) { panel.add(new JButton(String.valueOf(i))); } JButton remove = new JButton("Remove"); remove.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { panel.remove(2); panel.revalidate(); } }); JButton add = new JButton("Add"); add.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { panel.add(new JButton("21"), 2); panel.revalidate(); } });
# 1 楼答案
您可以使用
JPanel#add(component,index)
和JPanel#remove(index)
轻松实现它无需从容器中移除所有组件。只需移除所需组件并在所需位置添加新组件
示例代码: