Java SWT如何确定一个widget可编辑

标签 java swt

我想知道如何检查小部件是按钮还是文本?我该怎么做呢?通过使用 widget.getClass().getName() 并将字符串与等于 "org.eclipse.swt.widgets.Combo" 进行比较?有没有任何示例或示例代码可以证明这一点?我想检查一个小部件是否是可编辑的小部件(文本、旋转器、组合)。

最佳答案

不幸的是,在 SWT 中,可编辑小部件类没有实现任何通用接口(interface)。如果此功能对您实现自己的界面很重要:

public interface Editable{
    public void comommonEditableMethod(Param param); 
}

然后将您自己的 SWT 小部件添加到“可编辑”组中:

public class MyText extends Text implements Editable {...
public class MyCombo extends Combo implements Editable {...

等等... 然后在代码中您可以检查:

if(myControl instanceof Editable) {
    // do something
}

只要记住在您子类的每个 SWT 控件中重写 Widget 的方法,否则您将得到令人讨厌的异常:

@Override
protected void checkSubclass () {
    //DISABLE SUBCLASS CHECK
}

关于Java SWT如何确定一个widget可编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33072753/

相关文章:

java - 推土机:将单个字段映射到列表中

java - Nest 自定义 GWT 数据网格

Java:多对一双向查找

java - 按标题引用列

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

java - 在Java中读取xlsx复选框值

java - 使用 Array.sort 对字符串数组中的字谜排序

java - eclipse无法从java源生成设计 View

java - 更高级的表格/电子表格 SWT 实现

java - Java 中的 DateTime 问题