JFormattedTextField не возвращает правильный текст - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь сделать простое диалоговое окно в 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».Я не имею ни малейшего понятия, почему одно поле возвращает правильное число, а два других - пустое.Все они должны быть идентичны!Кто-нибудь может помочь?

1 Ответ

0 голосов
/ 18 октября 2018

Сначала посмотрим на этот код ...

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

...