- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在学习新的 Eclipse 4 RCP 平台,我刚刚遇到了一个有趣的问题。
假设我正在为 Application.e4xmi 中定义的 MPart
设计一个 Part 类:
public class SomePartView {
private Text someText;
private Button someButton;
@PostConstruct
public void createControls(Composite parent) {
parent.setLayout(new GridLayout(3, false));
someText = new Text(parent, SWT.BORDER);
someButton = new Button(parent, SWT.NONE);
someButton.setText("SomeButton");
}
@Focus
private void setFocus(IEclipseContext context) {
someText.setFocus();
}
// ... getters
}
我使用 WindowBuilder 来创建 ui,但我希望它不含任何行为代码,因此我创建了一个类,在其中处理如下交互:
public class SomePartViewController {
@PostConstruct
public void addBehavior(SomePartView view) {
view.getSomeButton().addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
// do something
}
});
}
}
这是一个好的做法还是我在这里重新发明轮子并且 e4 已经有一些解决方案了?如果不是,我如何将这些类连接在一起?我想避免在 Eclipse 上下文之外创建实例。由于官方 e4 文档相当稀疏,如果有人能给我链接一本详尽的书籍或引用手册,让我可以找到答案,那就太好了。
最佳答案
我不确定是否可以给你一个完整的答案,但我会尝试提出一些提示或评论。
首先,只有应用程序模型引用的类才会获得依赖注入(inject);因此 SomePartView
将执行相应的 @PostConstruct
。但是,在应用程序模型之外没有与 SomePartViewController
的直接连接,因此您不会获得任何自动注入(inject)。
有一些方法可以实现这一点,例如通过使用Extending the application model中描述的处理器扩展或者通过循环依赖于 SomePartView
并从那里实例化行为类。
如果我的问题正确,那么这将无法实现划分 View 和行为的主要实现目的。
也许XWT是您真正寻找的技术。这里 UI 是声明式定义的,事件处理程序仍然在 Java 类中实现。我认为 XWT 的工作方式已经是一种最佳实践,因为它可以与创建用户界面的 Android 编程风格进行比较。
关于java - Eclipse 4 RCP Part 类最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13159605/
这确实是一个分开的用法问题,但欢迎提出有关如何实现此目的的其他想法。 我需要创建一个引导设备,设置如下: ( up to 4MB erase block size (EBS)): partitions
我想知道定义库及其内容的方式背后的原因是什么。更具体地说,库需要列出所有部分,并且这些部分需要说明它们所属的库。 这种双向对我来说似乎是不必要的,我希望从库中引用这些部件就足够了。此外,在库中添加或删
我对 lambda 表达式比较陌生,如果有人能解释为什么返回类型与我预期的不同,我会很高兴。 () -> MultipartBody.Part! 究竟是什么? Single.just{ val
我对 map reduce 输出部分文件有一些疑问。 1> part-r-*文件和map reduce输出的part-*文件有什么区别? part-r-* 是 mapper 的输出,part-* 是
我需要为移动应用程序创建 Rails API。 API 将发送和接收 json 格式的请求。 我还想创建一个后端来管理应用程序。后端将在桌面(管理员)上使用带有用户界面的 Rails。 我想知道是否有
我正在使用此功能发布多张图片 @Multipart @POST("addad") Call addad( @Part List files , @Part Multip
我有一个正在为项目开发的小型 Java 程序,它使用 JavaMail 从指定的 URI 中提取用户的收件箱,然后开始处理消息。 在 Outlook 中,属性菜单中有一个功能可以设置邮件的到期日期,它
我不完全理解 part 之间的区别/part of和 import/export在 Dart 中使用库时。例如: one.dart: library one; part "two.dart"; Cla
这个问题在这里已经有了答案: How can I upload files to a server using JSP/Servlet? (14 个答案) 关闭 6 年前。 我正在尝试通过 JSP
我想使用 spark 从 html 表单上传文件。以下是我处理发布路由的 java 函数: Spark.post("/upload", "multipart/form-data", (request,
对于我的 python 扩展,我有 C(来自嵌入式库)和 C++ 文件,它们被编译并链接在一起。只有 C++ 部分与 Python 接口(interface)(通过 SWIG)。这在 VS2015 的
我想使用子例程 sum_real 访问数组派生类型中数组的元素。即:对所有人的权重中的第一个条目求和。 type my_type real, dimension(:), allocatable
最近我将 sonarqube 从 4.0 升级到 4.3.3。升级后当我尝试运行 maven 构建时出现错误: Failed to execute goal org.codehaus.mojo:son
我拿了一个 wsp 文件,并像往常一样做了我的 stsadm -o addsolution。然后我进入中央管理->解决方案管理,结果一切正常。然后我部署了 Web 部件,到目前为止没有问题。 问题是当
在我的 Eclipse 插件中我有这个工作流: 在Package Explorer中获取当前选中的项目 做某事 在Package Explorer中获取当前选中的项目(同1) 做一些不同的事情 1(和
我正在尝试使用 Spring MVC 和 Thymeleaf 上传文件,但出现异常,提示未提供多部分配置。 这是我的 Thymeleaf 表格: Picture
我知道 map reduce 输出存储在名为 part-r-* for reducer 和 part-m-* for mapper 的文件中。 当我运行 mapreduce 作业时,有时会在单个文件中
我们在运行 CentOS 的 Virtual Box 上使用 Hadoop 的同时处理 BigData。每当我们执行某些程序时,它都会创建 2 个不同的文件 1) part-r-00000 和 2)
我在其他论坛上看到过有关此问题的相关帖子(请参阅: http://www.mrexcel.com/forum/showthread.php?t=372534 ),但我尝试了所有发现的方法,但没有成功。
我无法将图像上传到服务器。我在这里尝试了很多相关问题的解决方案,但没有一个对我有用。这是我的文件: SecurityApplicationInitializer: package co
我是一名优秀的程序员,十分优秀!