实施例:为什么添加多次后无法显示同一个JComponent对象?
public class JFrameTest {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new JFrame();
JButton button = new JButton("Hello!");
frame.getContentPane().add(button);
frame.getContentPane().add(button);
frame.pack();
frame.setVisible(true);
frame.setLocationRelativeTo(null);
}
});
}
}
在上述例子中的“按钮”对象仅添加即使没有错误一次。我问这个问题的原因是,我想在JFrame和JDialog上添加一个相同的JPanel对象(在某些表上双击编辑/删除功能)。我可以通过使用两个JPanel对象来解决它,但只是想知道为什么它不可能。
简单的答案是,你不能,因为javadocs说你不能。 – 2012-07-14 07:01:07
“作为惯例,add和它的变体......已被覆盖,以便根据需要转发到contentPane。这意味着您可以编写:''frame.add(button)' - ['JFrame'](http:///docs.oracle.com/javase/7/docs/api/javax/swing/JFrame.html)。 – trashgod 2012-07-14 08:15:51