如何获取 JComponent 的副本?

How to get a copy of a JComponent?

我创建了一个 javax.swing.JButton 用于注销。我怎样才能将按钮的精确副本(副本)复制到另一个 JFrame?

private JButton signOut;    

public JButton getBtn(){
    //Any idea?
}

return signOut; 不是一个选项,因为当我调用 setBounds()setVisible() 时它会破坏主页 signOut

是否必须使用按钮创建 class 的新对象才能仅获取此组件?或者有其他解决方案吗?

将该按钮的构建抽象为某种工厂或函数。这样,您就不必经常手动重新配置按钮,也不必担心复制/克隆(这会变得非常混乱)

public JButton createButton(string caption) {
   //Create button here
}

好的,您可以复制该按钮并粘贴到另一个面板中。回到旧框架。复制该按钮代码。回到下一帧。单击按钮操作并将其粘贴。 ☺