Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java GUI
Войти
Регистрация
Восстановить пароль
 
Rembo88
0 / 0 / 0
Регистрация: 05.10.2013
Сообщений: 39
#1

Значения из txt-файла некорректно подтягиваются в JTextField - Java

12.06.2014, 14:23. Просмотров 428. Ответов 4
Метки нет (Все метки)

Есть txt-файл,в котором построчно записаны данные по типу ключ-значение.Ключ-это категория металла,значение-это цена металла.Ключ и значение разделены буквой "I".
Например: 5AI2300
8AI3400
8A2I2200
В моём графическом интерфейсе есть текстовые поля ввода field5A,field8A,field8A2 и т.д.,в которые по имени ключа подтягиваются значения.Всего 11 текстовых полей ввода.
Проблема состоит в том,что в 9 из 11 полей значения подтягиваются,а в 10 и 11 поля значения не подтягиваются.
Причём,если значение состоит из 10 символов,то вообще ничего не подтягивается.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
restoreButton.addActionListener(new ActionListener() {
@Override                                                              
public void actionPerformed(ActionEvent e) { 
try{
     fr = new FileReader(file);
     br = new BufferedReader(fr);
     String line;
     while((line = br.readLine()) != null) {
     String str[] = line.toString().split("I");
     map.put(str[0],str[1]);
     }
     br.close();
          
    field5A.setText(map.get("5A"));
    field5A2.setText(map.get("5A2"));
    field8A.setText(map.get("8A"));
    field8A2.setText(map.get("8A2"));
    field17A.setText(map.get("17A"));
    field17A2.setText(map.get("17A2"));
    field22A.setText(map.get("22A"));
    field22A2.setText(map.get("22A2"));
    field26A.setText(map.get("26A"));
    field3A.setText(map.get("3A"));
    field8oc.setText(map.get("8oc"));
    fr.close();      
}catch (IOException ex) {
      ex.printStackTrace();
     }
    }                                                                    
   });
Пожалуйста,помогите разобраться,в чём может быть ошибка...
Заранее спасибо!
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2014, 14:23
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Значения из txt-файла некорректно подтягиваются в JTextField (Java):

Получить содержимое txt файла и вывести его в JTextField
Всем доброго времени суток! Помогите, пожалуйста, с вопросом: как в Java...

Запись значения в int из JTextField
Доброго времени суток , недавно начал заниматься программированием на Java ,...

Изменение значения элемента XML через JTextField
Добрый день. Пытаюсь сделать внешний редактор для определенных XML файлов. В...

Подтягиваются не правильные значения
Всем добрый день! Ситуация следующая, в файле имеется несколько листов,...

Как определить из каких таблиц подтягиваются значения
Есть таблица с аккаунтами, к примеру. Там содержится информация о всех...

Считывание значения Double из .txt файла
Доброго времени суток.При работе с очень большими числами столкнулся с такой...

4
][irurg
175 / 174 / 38
Регистрация: 16.06.2010
Сообщений: 511
12.06.2014, 17:51 #2
Регистр букав ключей одинаковый?
0
Rembo88
0 / 0 / 0
Регистрация: 05.10.2013
Сообщений: 39
13.06.2014, 04:14  [ТС] #3
Регистр букв одинаковый.
У меня подозрение,что,возможно,виноват фильтр,установленный на поля ввода.
В поля ввода можно вводить только значения "0123456789."
Данный фильтр реализован следующим образом:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    txtFieldList = new ArrayList<JTextField>();
    txtFieldList.add(0, field5A);
    txtFieldList.add(1, field5A2);
    txtFieldList.add(2, field8A);
    txtFieldList.add(3, field8A2);
    txtFieldList.add(4, field17A);
    txtFieldList.add(5, field17A2);
    txtFieldList.add(6, field22A);
    txtFieldList.add(7, field22A2);
    txtFieldList.add(8, field26A);
    txtFieldList.add(9, field3A);
    txtFieldList.add(10, field8oc);
      for(int i = 0; i < txtFieldList.size(); i++) {
        txtFieldList.get(i).setDocument(new PlainDocument() {
            String chars = "0123456789.";
            @Override
            public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
                if (chars.indexOf(str) != -1) {
                    if (getLength()< 10) {
                        super.insertString(offs,str, a);
                    }
                }
            }
        }); 
      }
Может быть тут кроется какой-то косяк?)
0
][irurg
175 / 174 / 38
Регистрация: 16.06.2010
Сообщений: 511
13.06.2014, 08:34 #4
Лучший ответ Сообщение было отмечено Rembo88 как решение

Решение

Ну конечно, тот фильтр корректно работает для ручного ввода. Для программного нужно его исправить, там где условия.

Добавлено через 59 минут
Java
1
2
3
4
5
6
7
8
9
10
11
12
@Override
            public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
                for (int i = 0; i < str.length(); i++) {
                    if (chars.indexOf(str.charAt(i)) == -1) {
                        return;
                    }
                }
                if (getLength() < 10) {
                    super.insertString(offs, str, a);
                }
            }
        });
2
Rembo88
0 / 0 / 0
Регистрация: 05.10.2013
Сообщений: 39
14.06.2014, 12:46  [ТС] #5
Дружище,вы меня выручили!Спасибо!
0
14.06.2014, 12:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.06.2014, 12:46
Привет! Вот еще темы с решениями:

Чтение из файла txt и передача значения в переменную
Доброго времени суток!В ПХП полный ноль. Помогите с такой проблемой. Есть TXT...

Присвоение переменной значения, взятого из txt-файла
Нашел похожие темы,но они не помогли,а именно: for /f &quot;user=3&quot; %%a in...

Сравнение значения переменной со значением из txt-файла
Ребят мне надо чтобы программа проверяла данную из .txt и сверяла её с данными...

Программно обнулять некоторые значения из файла txt
Проблема в том что некоторые значения прочтенные из файла имеют такой вот вид...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru