我有一个创建 JButtons 的程序,然后将其添加到带有 BoxLayout 的 JPanel 中,该 BoxLayout 设置为垂直放置它们。有时第一个按钮会被有意从 JPanel 中删除。最初,按钮正确居中,按钮也成功删除。问题是剩下的按钮会分开来填充空间。这不是我想要的,相反,我希望它们沿 y 轴重新居中而不分开。
我有一个扩展 JPanel 的类。在构造函数中创建了 BoxLayout。
setPreferredSize(new Dimension(150, 500));
setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
setAlignmentY(CENTER_ALIGNMENT);
创建按钮当前是此类中的一种方法:
createButtons(int numButtons){
for (int i=0;i<numButtons;i++) {
add(new JButton());
}
而移除是另一种方法:
removeButton(){
if(getComponentCount()>1){
remove(0);
validate();
repaint();
}
}
有谁知道如何使按钮保持沿 y 轴居中而不分散开来填充包含面板?