swt - 具有预定义样式的SWT控件

标签 swt

我想在我的SWT项目控件中使用预定义样式的按钮(按钮,文本等)。我的第一个想法是扩展例如org.eclipse.swt.widgets.Text类,设置一些设置并使用该新类而不是原始类,但会出现org.eclipse.swt.SWTException: Subclassing not allowed异常。怎么做对?

最佳答案

您必须重写checkSubclass方法以执行任何操作,否则它将提示不允许子类化-因为通常您实际上不应真正覆盖标准组件。

@Override
protected void checkSubclass() {
    // Disable the check that prevents subclassing of SWT components
}

您还应该考虑使用委派来构建包含原始控件的自定义窗口小部件。例如,您可以构建MyText,其中将包含带有自定义设置的Text小部件。

需要记住的是,SWT提供了标准控件,它们在平台上的每个控件上都具有 native 外观。无论如何,仍然允许抛光标准组件,甚至在生产软件中也是必须的。

关于swt - 具有预定义样式的SWT控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9567042/

相关文章:

java - SWT:在运行时更改 Shell 的样式

swt - "Navigation Bar"SWT控制

java - SWT 中的 'show' 和 'paint' 事件有什么区别?

java - SWT,在 Windows 上的动画背景上使用透明拖动图像

java - swt 浏览器不再处理错误

java - 如何创建复合 Action

java - 采用 Swing 对话框方法并将其转换为 SWT

java - Linux 版本的 Eclipse 在尝试打开二进制文件(扩展名为 .bin)时卡住

java - 我写了一个Java程序,一个类中有10000行代码。正常吗?

java - 用于 eclipse 插件开发的 Swing/Prefuse 或 SWT