我有一个面板,该面板包含一个水平框,其中有2个按钮。现在,我扩展了此类,并想在框的开头添加新按钮。我尝试的是将按钮添加到框的末端。
任何身体都知道该怎么做?
private class MyBoxPanel extends BoxPanel {
public JButton btnPrint;
public MyConfirmationPanel() {
btnPrint = new JButton("print");
add(btnPrint);
add(Box.createRigidArea(new Dimension(5, 0)));
}
protected void confirmActionPerformed(ActionEvent e) {
for (PrinterInputListener listener : listeners)
listener.printConfirmed(printerPanel.getPrint().getId());
}
protected void cancelActionPerformed(ActionEvent e) {
for (PrinterInputListener listener : listeners)
listener.printCancelled();
}
}
我尝试的是将按钮添加到框的末端。
是的,add(component)
方法只会将组件添加到容器的末端。
如果要将组件添加到开头,则需要指定索引值为0。读取适当方法的容器API。我不记得是add(component, index)
还是add(index, component)
。
然后,一旦添加组件,就需要调用
panel.revalidate();
panel.repaint();