[英]how to copy properties of a jlabel to another new jlabel
我想将我的私有jlabel对象复制到一个新的jlabel对象,并使该新对象公开。 想法是允许任何人访问jlabel的属性,但不允许进行将在原始界面上显示的任何更改。 下面的代码不起作用,因为它只是复制原始对象的引用。
public javax.swing.JLabel getCopyOfLabel(int labelno) {
javax.swing.JLabel newlbl = new javax.swing.JLabel();
if (labelno == 0) {
newlbl = lbl_0_original;
return newlbl;
} else if (labelno == 1) {
newlbl = lbl_1_original;
return newlbl;
} else {
newlbl = lbl_2_original;
return newlbl;
}
}
我该怎么做? 我可以在上面使用clone()吗?
谢谢
如果实现了JLabel的clone方法,则可以使用clone。 否则,您将不得不复制它(将私有JLabel的属性复制到公共JLabel)。 这样,私有JLabel实际上就没有用了,您可以在其他实例中实例化一个新的JLabel。 那不是复印机,而是工厂(例如MyJLabelFactory.getJLabel(labelNo))
如果您使用spring,则可以使用实用程序方法; 例如,请参见BeanUtils.copyProperties 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.