Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java: GUI, Графика
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
ivan.-94
Я Фоюмчанин ? дааааа)
209 / 200 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
1

Проверить если вполучили число из строки то выполнить какое либо действие

05.11.2012, 17:04. Просмотров 774. Ответов 5
Метки нет (Все метки)

Всем доброго времени суток.
Друзья,
есть код
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
                    try {
                        x0 = Double.parseDouble(tfx0.getText());
                        y0 = Double.parseDouble(tfy0.getText());
                        x1 = Double.parseDouble(tfx1.getText());
                        y1 = Double.parseDouble(tfy1.getText());
                        x2 = Double.parseDouble(tfx2.getText());
                        y2 = Double.parseDouble(tfy2.getText());
                        x3 = Double.parseDouble(tfx3.getText());
                        y3 = Double.parseDouble(tfy3.getText());
                        R = Double.parseDouble(tfr.getText());
                    } catch (Exception exception) {
                        JOptionPane.showMessageDialog(fr, "Нууу.. Нет!!!\nТак я работать не буду.");
                    }

Как мне запомнить все tfx, tfy из которых по каким либо причинам не получилось получить число?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2012, 17:04
Ответы с готовыми решениями:

Выполнить какое-либо действие спустя 10 минут
Здравствуйте, подскажите пожалуйста код что бы по нажатию кнопки Button запускался таймер который...

Выполнить какое-либо действие в программе с запросом административных прав
Все встречали кнопки в программах со значком щита UAC, каким образом можно сделать в своей...

Выполнить какое-либо действие при выборе пунктов меню
Есть MenuItem - Файл. При нажатии выскакивают еще 4 MenuItem(a). -Открыть файл - ... - ......

Как в SFML по клику мыши на определенной области (например на спрайте) выполнить какое либо действие?
Только начал изучать SFML. Скажите пожалуйста, как в SFML по клику мыши на определенной области...

Как определить, что на текстовом поле нажата клавиша Enter и выполнить какое либо действие?
Как определить, что на текстовом поле нажата клавиша Enter и выполнить какое либо действие?

5
Slimmy
65 / 18 / 3
Регистрация: 09.10.2010
Сообщений: 97
05.11.2012, 18:13 2
Цитата Сообщение от ivan.-94 Посмотреть сообщение
Как мне запомнить все tfx, tfy из которых по каким либо причинам не получилось получить число?
Я так полагаю, что tfx - это TextField или что-то типа того? Я бы сделал так:
Поскольку parseDouble кушает все, что ему передадут, но выбрасывает исключение NumberFormatException, если стринга - не строковое представление числа, то для каждого parseDouble можно реализовать try/catch, в котором мы добавляем, скажем, в ArrayList зафейленный объект.
Но это "в лоб". Возможно, есть другой вариант решения проблемы.
0
ivan.-94
Я Фоюмчанин ? дааааа)
209 / 200 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
05.11.2012, 18:36  [ТС] 3
Цитата Сообщение от Slimmy Посмотреть сообщение
Я так полагаю, что tfx - это TextField или что-то типа того?
Вы правы это TextField.
В общем может есть другой способ., я раскажу что я хочу сделать:
у меня есть 9 TextField и мне нужно, что бы по нажатию на кнопку в тех полях, где не число поменялся фон на красный.
0
Slimmy
65 / 18 / 3
Регистрация: 09.10.2010
Сообщений: 97
05.11.2012, 19:23 4
Цитата Сообщение от ivan.-94 Посмотреть сообщение
Вы правы это TextField.
В общем может есть другой способ., я раскажу что я хочу сделать:
у меня есть 9 TextField и мне нужно, что бы по нажатию на кнопку в тех полях, где не число поменялся фон на красный.
Еще есть одна идея. Сложить все TextField в массив/контейнер, пройтись по ним циклом (я так понимаю цвет меняется после нажатия клавиши подтверждения/отправки) и таким образом используем всего один try/catch.
Java
1
2
3
4
5
6
7
for(int i = 0; i < array.size; i++){ // array - массив TextFields
   try{
       valuesArray[i] = Double.parseDouble(array[i].getText()); // valuesArray - массив значений
   } catch (NumberFormatException ex){
       array[i].setColor(#color);
   }
}
Код, опять же, не претендует на однозначность и оптимальность
1
ivan.-94
Я Фоюмчанин ? дааааа)
209 / 200 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
05.11.2012, 21:56  [ТС] 5
Slimmy, В общем я сделал.
Выгляди это так:
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
    static JTextField array[];
    static double valuesArray[];
//-----------------------------
array=new JTextField[9];
        valuesArray=new double[9];
        array[0] = tfx0;
        array[1] = tfx1;
        array[2] = tfx2;
        array[3] = tfx3;
        array[4] = tfy0;
        array[5] = tfy1;
        array[6] = tfy2;
        array[7] = tfy3;
        array[8] = tfr;
//-----------------------------
    for (int i = 0; i < array.length; i++) {
        array[i].setBackground(Color.white);
    }
    for (int i = 0; i < array.length; i++) {
        try {
            valuesArray[i] = Double.parseDouble(array[i].getText()); 
        } catch (NumberFormatException ex) {
            array[i].setBackground(Color.red);
        }
    }
0
mutagen
2570 / 2243 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
07.11.2012, 04:38 6
а если я туда напишу float или скажем int, то всё равно покрасите красным?
или скажем напишу double но "случайно" поставлю перед ним пробел, а?
0
07.11.2012, 04:38
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.11.2012, 04:38

Если пользователь ничего не предпринимает в течении нескольких секунд, тогда выполняется какое-либо действие
Ребята, нужно написать программу. Если пользователь ничего не предпринимает в течении нескольких...

Если число от 0 до 5 выполнить действие
Извиняюсь, но не смог найти ответ на свой вопрос, в интернете. как правильно написать в c# int...

Как сделать какое-либо действие сразу после запуска программы, без нажатия чего-либо
Как сделать какое-либо действие сразу после запуска программы, без нажатия чего-либо?


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

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

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