SetText方法不在Modify Listener中设置值

时间:2017-03-20 07:44:20

标签: swt

我有一个要求,Text值应该修改并设置修改后的值。 文本值是用户选择的文件路径。

txtPath.addModifyListener(new ModifyListener() {

    @Override
                    public void modifyText(ModifyEvent e) {
                        // TODO Auto-generated method stub
                        Text text= (Text)e.widget;                      
                        File fi= new File(text.getText());
                        text.setText(fi.getParent().toString());

                    }
                });

我在设置值时遇到错误。

如果用户选择的路径是" C:\ test \ folder \ sample.xml" 修改文本路径应使用新值设置为" C:\ test \ folder"

1 个答案:

答案 0 :(得分:0)

每当值发生变化时都会触发修改事件 - 意味着文本字段中的每个按键,以及您正在调用的setText()。您可能想要监听焦点丢失事件而不是修改事件。