Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 05.11.2013
Сообщений: 16

Переход к следующей итерации цикла по нажатию на кнопку

28.02.2017, 13:01. Показов 2361. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть 4 кнопки, нужно чтобы цикл останавливался пока одну из них не нажму и после нажатия переходил к сл. итерации

Не могу понять как можно реализовать такое
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.02.2017, 13:01
Ответы с готовыми решениями:

Как в цикле for (не выходя из цикла) перейти к следующей итерации?
как в цикле for не выходя их цикла, перейти ко следующей итерации, пропустив данную по определенному условию? Добавлено через 3 минуты...

При вводе вместо цифр символов программа перестаёт ожидать ввода на следующей итерации цикла. Почему?
Почему это происходит? #include <iostream> using namespace std; int main() { setlocale(LC_ALL, "Russian"); void...

Как при нажатию на кнопку перейти к следующей сцене?
как мне сделать переход при нажатии на кнопку что осуществился переход с меню на пустую сцену?? щас как бы меню а мне нужно что б этого...

6
528 / 263 / 70
Регистрация: 11.12.2016
Сообщений: 1,223
28.02.2017, 21:26
Что значит останавливался? Надо выйти из цикла?
В обработчик событий кнопки ставьте my_boolean = true;
если цикл while(), то в условие вставьте my_boolean, если for(), то в тело вставьте if(my_boolean) break;
Ясное дело что my_boolean сначала (выше) надо обявить и определить как false, и если цикл while(), то while(условие || my_boolean), или снова же вставить в тело Иф().
0
0 / 0 / 0
Регистрация: 05.11.2013
Сообщений: 16
28.02.2017, 21:38  [ТС]
Выходить из цикла не нужно, нужно чтобы он подождал пока пользователь нажмет кнопку и продолжил дальше выполняться

Но я уже начинаю подозревать что логика у меня не верная
0
528 / 263 / 70
Регистрация: 11.12.2016
Сообщений: 1,223
28.02.2017, 22:02
Сделайте цикл в одном из методов.
Условия выхода вы уже знаете - нажатие кнопки.
в самом конце метода нажатия кнопки, после изменения условий выхода из цикла, и проч.. вызовите метод снова.
Я не уверен что это правильно, подозрительно. Попробуйте, и напишите если получилось, самому интересно..
0
0 / 0 / 0
Регистрация: 05.11.2013
Сообщений: 16
28.02.2017, 22:18  [ТС]
Вообщем вот сам цикл
Должен получиться тест по английскому
Дается английское слово и 4 варианта ответа после нажатия на кнопку с ответом переходим к сл английскому слову (изначально писалось в консоли, пытаюсь обернуть в GUI)

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
31
@FXML
    private void main1() throws IOException, InterruptedException {
        new Thread(() -> {
            map = getMap();
            ArrayList<String> englishWords = new ArrayList<String>(map.keySet());//английские слова
            ArrayList<String> russianWords = new ArrayList<String>(map.values());//русские слова
            Collections.shuffle(englishWords);//перемешиваем
            String[] answers; // массив ответов
            for (String englishWord : englishWords) {
                int j = genRandom(0, 4);//рандомный номер правильного ответа
                answers = genAnswers(englishWord, russianWords, j);
                Platform.runLater(() -> engWord.setText(englishWord));
                
                final String one = answers[0];
                final String two = answers[1];
                final String three = answers[2];
                final String four = answers[3];
                Platform.runLater(() -> button1.setText(one));
                Platform.runLater(() -> button2.setText(two));
                Platform.runLater(() -> button3.setText(three));
                Platform.runLater(() -> button4.setText(four));
 
                // вот тут нужно сделать остановку для присваивания переменном select значения через нажатие на кнопку          
 
                if (select == j) {
                    a++;
                } else {
                    mapFalse.put(englishWord, map.get(englishWord));
                }
            }
        }).start();
0
528 / 263 / 70
Регистрация: 11.12.2016
Сообщений: 1,223
28.02.2017, 22:48
Не понимаю что делает платформ.рунлэйте()
еще что-то немного не понимаю и чувствую себя некомпетентным
Я бы создал отдельный метод (взять след. элем со списка и проверить его, и проверить не конец ли вообще) и вызывал его нажатием кнопки.
0
0 / 0 / 0
Регистрация: 05.11.2013
Сообщений: 16
28.02.2017, 23:21  [ТС]
ну я думаю что нужно менять саму логику и делать без цикла и даже наверное мапа не подойдет, буду разбираться

п.с. рунлейте как я понял передает информацию в главный поток
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.02.2017, 23:21
Помогаю со студенческими работами здесь

Переход на ссылку по нажатию на кнопку
Есть переменная url,в ней например vk.com В войде нажатия кнопки есть такой код: System.Diagnostics.Process.Start(url); Но если так...

Переход по ссылке по нажатию на кнопку
подскажите код on(press) { ... }

C# - Переход на следующую сцену по нажатию на кнопку
Решил сделать игрулю простую, ничем не примечательную, но столкнулся с проблемой. По нажатию на кнопку (не клавиатурную, а UI) игра...

Переход к другой форме по нажатию на кнопку
Необходимо реализовать следующее: Загружается главная форма на ней расположено 3 компонента Label и 3 кнопки. При нажатии на кнопку...

Выйти из цикла по нажатию на кнопку
У меня есть цикд do{ ... }while{x&gt;условие} в котором по формуле считается некоторое число и выводится на label. Нужно реализовать способ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru