为了账号安全,请及时绑定邮箱和手机立即绑定

JFormattedTextField 没有返回正确的文本

JFormattedTextField 没有返回正确的文本

泛舟湖上清波郎朗 2021-11-24 15:51:10
我正在尝试在 Beanshell 中创建一个简单的对话框 - 它应该读取三个可编辑文本字段的内容,并在按下按钮时相应地执行一个简单的任务。我完全被一个错误难住了,我在某些字段中无法阅读文本。这是代码:// Set up the text fieldstextField_Y= new JFormattedTextField();textField_Y.setValue(150);textField_Y.setColumns(4);textField_Y.setEditable(true);textField_X= new JFormattedTextField();textField_X.setValue(0);textField_X.setColumns(4);textField_X.setEditable(true);textField_n= new JFormattedTextField();textField_n.setValue(20);textField_n.setColumns(4);textField_n.setEditable(true);button = new JButton("Generate Stage Position List");// some Code here to arrange the items within a GUI window// Try to read the valuesbutton.addActionListener(new ActionListener() {     actionPerformed(ActionEvent eText) {    //Get info from dialog    yShift = textField_Y.getText();    xShift = textField_X.getText();    nPos = Integer.parseInt(textField_n.getText());    print(xshift+" "+yshift+" "+nPos);});我运行这个,对话框显示正确。我不更改任何值,只需单击按钮,它就会打印“150 0 20”。相反,它打印“void void 20”。我不知道为什么一个字段返回正确的数字而另外两个字段返回无效的最微弱的线索。它们都应该是相同的!任何人都可以帮忙吗?
查看完整描述

1 回答

?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

首先,看看这段代码......


button.addActionListener(new ActionListener() { 

    actionPerformed(ActionEvent eText) {

    //Get info from dialog

    yShift = textField_Y.getText();

    xShift = textField_X.getText();

    nPos = Integer.parseInt(textField_n.getText());

    print(xshift+" "+yshift+" "+nPos);

});

yShift!=yshift和xShift!= xshift。请记住,Java 区分大小写。


我还建议使用getValue而不是getText


查看完整回答
反对 回复 2021-11-24
  • 1 回答
  • 0 关注
  • 131 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信