猿问

JFormattedTextField 没有返回正确的文本

我正在尝试在 Beanshell 中创建一个简单的对话框 - 它应该读取三个可编辑文本字段的内容,并在按下按钮时相应地执行一个简单的任务。我完全被一个错误难住了,我在某些字段中无法阅读文本。


这是代码:


// Set up the text fields


textField_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 values

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);

});

我运行这个,对话框显示正确。我不更改任何值,只需单击按钮,它就会打印“150 0 20”。相反,它打印“void void 20”。我不知道为什么一个字段返回正确的数字而另外两个字段返回无效的最微弱的线索。它们都应该是相同的!任何人都可以帮忙吗?


泛舟湖上清波郎朗
浏览 132回答 1
1回答

斯蒂芬大帝

首先,看看这段代码......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
随时随地看视频慕课网APP

相关分类

Java
我要回答