Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何验证SWT文本小部件的输入并分配给变量?_Java_Eclipse_User Interface_Swt_Actionlistener - Fatal编程技术网

Java 如何验证SWT文本小部件的输入并分配给变量?

Java 如何验证SWT文本小部件的输入并分配给变量?,java,eclipse,user-interface,swt,actionlistener,Java,Eclipse,User Interface,Swt,Actionlistener,这个SWT程序有一个名为mBuy的组,其中包括输入股票买入价格的文本字段。按下“计算”按钮并激活事件侦听器后,我想将此文本字段中的任何内容分配给一个变量,我在这里初始化了该变量 final Text tmp0 = new Text(mBuy, SWT.SINGLE); tmp0.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); // Calculate Button Button tmp3 = new Button(mBu

这个SWT程序有一个名为mBuy的组,其中包括输入股票买入价格的文本字段。按下“计算”按钮并激活事件侦听器后,我想将此文本字段中的任何内容分配给一个变量,我在这里初始化了该变量

final Text tmp0 = new Text(mBuy, SWT.SINGLE);
tmp0.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

// Calculate Button
Button tmp3 = new Button(mBuy, SWT.PUSH);
tmp3.setText("Calculate");
tmp3.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true));

// if calculate button is pressed
tmp3.addSelectionListener(new SelectionAdapter() {
    public void widgetSelected(SelectionEvent e) {
        //take the decimal value inside textbox 
        bPrice=Double.parseDouble(tmp0.getText());
        // don't show buy menu anymore
        mBuy.dispose();

    }
});

它只是
tmp0.getText()
。你应该看看。

你曾经尝试过使用谷歌吗?你不认为这是我尝试的第一件事吗?这是错误的。我得到一个错误,因为tmp0生成的字符串为空。我知道必须使用verifylistener来验证SWT的输入,所以不能只使用getText()。还有其他想法吗?我发布了更新后的代码,给出了空错误。然后这看起来像SWT中的一个bug。它不应返回null:“文本小部件的文本是小部件中的字符,如果从未设置过,则为空字符串。”您也可以在
VerifyListener
中使用
getText
,它将返回当前文本。