小编Ale*_*lez的帖子

为什么基类(不实现Serializable)应该没有参数构造函数,如果它的子类实现Serializable?

我正在阅读界面文档Serializable,其中我找到以下几行:

为了允许序列化非可序列化类的子类型,子类型可以承担保存和恢复超类型的公共,受保护和(如果可访问)包字段的状态的责任.只有当它扩展的类具有可访问的no-arg构造函数来初始化类的状态时,子类型才可以承担此责任.如果不是这种情况,则声明类Serializable是错误的.将在运行时检测到错误.

但是,基类的无参数构造函数在恢复对象状态方面的作用是什么?

java serialization

8
推荐指数
1
解决办法
1972
查看次数

突出显示时更改SWT树节点文本前景

我在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)

java swt jface treeviewer

5
推荐指数
1
解决办法
1496
查看次数

为什么我的.ts文件保存为MPEG2 TS格式,当我希望它保存为打字稿时

我是开发人员的新手,目前正在开发Angular 2我在计算机(Win 7)中保存.ts(打字稿)文件时遇到了问题.我使用npm运行命令:

>npm install typescript
Run Code Online (Sandbox Code Playgroud)

但是当我尝试将文本文件保存到.ts文件时,它会创建MPEG 2 TS文件.如何解决这个问题.请帮忙!

typescript

4
推荐指数
3
解决办法
2659
查看次数

标签 统计

java ×2

jface ×1

serialization ×1

swt ×1

treeviewer ×1

typescript ×1