我正在使用TextStyle
并Styler
在我正在创建的 SWT 窗口中提供着色。
我的Styler
方法有问题applyChanges()
。Styler
该方法( SWT 的作者内置的一种抽象方法)接受一个TextStyle
对象并对其应用格式,例如,如下所示:
public void applyStyles(TextStyle textStyle) {
textStyle.background = new Color(null, new RGB(102, 0, 58));
//yada yada
}
但是,我不想直接对其应用样式,而是想分配一个已经包含所有样式的属性。换句话说,我正在尝试这个:
public void applyStyles(TextStyle textStyle) {
textStyle= this.textStyleAttributeStyle;
}
不幸的是,虽然这不起作用,但我相信它与通过引用传递属性有关,因为当我一一复制属性时,例如
public void applyStyles(TextStyle textStyle) {
textStyle.background= this.textStyleAttributeStyle.background;
}
效果很好!
所以我的问题是,如何以最短的代码量提供每个属性的完整克隆/副本textStyleAttributeStyle
并将其复制到相应的属性中?textStyle