我正在阅读界面文档Serializable,其中我找到以下几行:
为了允许序列化非可序列化类的子类型,子类型可以承担保存和恢复超类型的公共,受保护和(如果可访问)包字段的状态的责任.只有当它扩展的类具有可访问的no-arg构造函数来初始化类的状态时,子类型才可以承担此责任.如果不是这种情况,则声明类Serializable是错误的.将在运行时检测到错误.
但是,基类的无参数构造函数在恢复对象状态方面的作用是什么?
我在SWT / JFace技术方面还很陌生,但发现了一个令我抓狂的问题。在Eclipse RCP应用程序中,我有一个视图,其中放置了带有JFace TreeViewer的SWT树,该JFace TreeViewer通过标签提供程序提供标签和图标。根据客户的要求,树的背景颜色为深蓝色,字体颜色为白色。当选择了节点时,这种颜色组合会导致节点文本的可视化效果不佳,文本不适合树形区域,并且我们将鼠标指针放在节点上。以某种方式出现“本机突出显示”。可以在下图中显示。

另一方面,当未选择将鼠标放在其上的节点时,不会发生此问题。突出显示会更改字体的颜色以使其更加可见。可以在下图中显示。

经过一些研究,我发现通过为SWT.EraseItem事件添加侦听器,我可以修改所选节点的背景颜色,然后禁用选择。这使我可以定义自己的选择背景样式,还可以禁用的SWT.SELECTED标记,以event.detail在未选择节点时强制OS突出显示。
private final class EraseItemListener implements Listener {
public void handleEvent(Event event) {
// Only perform the node highlight when it is selected.
if ((event.detail & SWT.SELECTED) == SWT.SELECTED) {
// Modify background, emulate Windows highlighting.
...
// Set Windows that we do not want to draw this item as a selection (we have already highlighted the item in our way).
event.detail &= ~SWT.SELECTED;
} …Run Code Online (Sandbox Code Playgroud) 我是开发人员的新手,目前正在开发Angular 2我在计算机(Win 7)中保存.ts(打字稿)文件时遇到了问题.我使用npm运行命令:
>npm install typescript
Run Code Online (Sandbox Code Playgroud)
但是当我尝试将文本文件保存到.ts文件时,它会创建MPEG 2 TS文件.如何解决这个问题.请帮忙!