我有 eclipse 3.7 indigo;我安装了 gwt 插件及其设计器;问题是(一次又一次)当我添加新的小部件 X 来合成
- 调色板(保持小部件处于选中状态)
- 组件(不在树中显示新的小部件)
- 属性(不显示新的小部件属性)
...所以我无法选择另一个小部件,除非我调整整个 eclipse 应用程序的大小以强制其 GUI 重绘:( 似乎调色板和其他管理器没有收到报告“小部件是从 windowbuilder 添加的” 或类似的 :(
此外,如果我的输入法是“系统”,我将无法编辑小部件的文本,顺便说一下,这是默认的输入法,所以唯一有效的输入法是“X 输入法”,但无论如何它都没有解决提到重获焦点问题;
这使得 eclipse indigo 真的很难用;所以我的问题是......如何解决这个问题?
附:
eclipse 3.7(靛蓝)
- gwt 插件 - https://dl.google.com/eclipse/plugin/archive/3.6.0/3.7
- gwt 设计师 - http://dl.google.com/eclipse/inst/d2gwt/latest/3.7
- gwt SDK 2.2
- jdk 1.7
- jre 1.7
- 操作系统 Linux x64
谢谢
最佳答案
我必须对这个问题进行自己的研究;我注意到存在某种“作业顺序冲突”或类似的基于默认构造函数的代码样式:
public class MyTestUI extends Composite {
private FlowPanel flowPanel;
public MyTestUI() {
flowPanel = new FlowPanel();
initWidget(flowPanel);
}
}
...所以,作为一种解决方法,我不得不使用代码生成器作为;
window -> preferences -> windowbuilder -> gwt
- (组合框)新语句的方法名称:initComponents
- 变量生成:字段
- 语句生成:平坦
只是为了避免在构造函数中初始化,结果我将代码生成为:
public class MyTestUI extends Composite {
private FlowPanel flowPanel;
public MyTestUI() {
initComponents();
}
private void initComponents() {
flowPanel = new FlowPanel();
initWidget(flowPanel);
}
}
...顺便说一句,如果输入法是“System”并且第一次生成 initComponents() 方法,则焦点重新获得有问题;所以在开始添加小部件之前,我必须选择“X 输入法”以避免同步作业;所以“X 输入法”需要是默认输入法,因为我可以得到它:)
编辑: 我面对的效果很像bug 388170 ;所以我尝试将 eclipse.ini 参数修改为
-Djava.awt.headless=true
似乎 headless 有点帮助,但无论如何在使用 windowbuilder 时 eclipse 有时会挂起,尤其是 DnD :P
无论如何,我想指出我第一次遇到提到的问题,因为类似的 windows x32 eclipse indigo 版本在 gwt 上工作得很好;
附注 解决方案不是最终的(挂起问题仍然出现在 DnD 事件上),我仍在寻找更优化的解决方案;如果您有一些有用的提示或想法,请发表评论;
关于linux - eclipse indigo - windowbuilder - eclipse 不会重新获得焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28893600/