JFormattedTextField 没有返回正确的文本

JFormattedTextField not returning correct text

我正在尝试在 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”。我不知道为什么一个字段返回正确的数字而另外两个字段返回无效。他们应该都是一样的!有人可以帮忙吗?

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

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 != yshiftxShift != xshift。请记住,Java 区分大小写。

我还建议使用 getValue 而不是 getText