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

Нужен код, чтобы при нажатии JButton происходило заполненение JProgressBar

05.12.2018, 12:26. Показов 1765. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
У меня возникла проблема. Мне нужно чтобы при нажатии на buttonAnswer начиналось заполнение progressionProcess (Желательно при каждом нажатии происходила новое заполнение).

В голову нечего не идёт, единственное, что я придумал это вот это (При каждом нажатии она заполняется на 1%) вот этот представленный код:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public Win() {
 
 buttonAnswer.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                onAnswer();
            }
        });
}
 
 private void onAnswer() {
     
 
        int value = progressionProcess.getValue() + 1;
        int maximum = progressionProcess.getMaximum();
        if(value > maximum) {
            value = maximum;
        }
        progressionProcess.setValue(value);
 
    }
Пожалуйста помогите!

Добавлено через 13 минут
PS Извините за ошибки! пишу с телефона
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.12.2018, 12:26
Ответы с готовыми решениями:

Сделать так, чтобы при двойном нажатии левой кнопки мыши по ссылке происходило некое действие
Мне нужно сделать так, чтобы при двойном нажатии левой кнопки мыши по ссылке происходило некое...

Как сделать так, чтобы при нажатии на кнопку происходило определённое действие спустя определённый промежуток времени?
Написал я небольшую игрушку на вин формс, но не знаю как сделать так, чтобы при нажатии на кнопку...

Очень нужно, чтобы при нажатии кнопки back (назад)броузера , когда я нахожусь на второй странице, происходило обновление предыдущей
Есть первая страница с формой,в которой есть текстовые поля и кнопка submit.При нажатии этой кнопки...

При нажатии кнопки чтобы автоматически происходило нажатие клавиши "W"
Нужно чтобы при нажатии кнопки автоматически происходило нажатие клавиши "W".Как можно реализовать?

7
18 / 13 / 5
Регистрация: 22.11.2018
Сообщений: 121
05.12.2018, 13:03 2
Тоесть тебе нужно чтобы при нажатии на кнопку прогресс бар заполнялся полностью, или на какое-то определенное значение?
0
0 / 0 / 0
Регистрация: 12.07.2018
Сообщений: 11
05.12.2018, 13:21  [ТС] 3
Да! Мне нужно, чтобы прогресс бар заполнялся полностью, и чтобы при повторном нажатии на кнопку она заново начала заполнять.
0
18 / 13 / 5
Регистрация: 22.11.2018
Сообщений: 121
05.12.2018, 14:44 4
Если нужно мгновенное заполнение то как-то так:

Java
1
2
3
4
5
6
7
8
9
10
int val=progressBar.getValue();//узнаем текущее значение
int val2=progressBar.getMaximum();//узнаем максимальное значение
if (val<val2)
{
progressBar.setValue(val2);//заполняем прогресс бар
}
else
{
progressBar.setValue(0);//опустошаем прогресс бар
}
Если нужно постепенное заполнение то как-то так:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int val=progressBar.getValue();//узнаем текущее значение
int val2=progressBar.getMaximum();//узнаем максимальное значение
if (val<val2)
{
 
while (val<val2)//выполняется пока прогресс бар не достигнет максимума
{
Thread.sleep(300);// небольшая пауза для того, чтобы прогресс бар не заполнился мгновенно
progressBar.setValue(val+1);//заполняем прогресс бар
}
 
}
else
{
progressBar.setValue(0);//опустошаем прогресс бар
}
Как-то так

Добавлено через 3 минуты
исправил ошибку
0
0 / 0 / 0
Регистрация: 12.07.2018
Сообщений: 11
05.12.2018, 17:57  [ТС] 5
Программа зависает при нажатии на кнопку. И в Thread.sleep(300); Подчеркивается sleep.
0
18 / 13 / 5
Регистрация: 22.11.2018
Сообщений: 121
05.12.2018, 18:34 6
1) Скорее всего программа не зависает а ожидает завершения while. Либо допишите progressBar.repaint(); или вынесете while в отдельный класс, тогда он не будет мешать работе с GUI, а в идеале сделайте и то и другое

2)

Java
1
2
3
4
5
6
try {
    Thread.sleep(300);
} catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
0
0 / 0 / 0
Регистрация: 12.07.2018
Сообщений: 11
05.12.2018, 18:59  [ТС] 7
не сработало

Добавлено через 7 минут
может я просто вам в ЛС скину полностью код? тогда вам будет легче понять мою ошибку!
0
18 / 13 / 5
Регистрация: 22.11.2018
Сообщений: 121
05.12.2018, 21:12 8
Лучший ответ Сообщение было отмечено Queker как решение

Решение

Скидывайте, поглядим

Добавлено через 1 час 13 минут
Так точно работает, проверил:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int val=SimpleGUI.bar.getValue();
        int val2=SimpleGUI.bar.getMaximum();
        if (val<val2) {
int i=0;
            while (val<val2)
            {
                
                SimpleGUI.bar.setValue(i);
                i++;
                val++;
                try {
                    Thread.sleep(300);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                
            }
 
        }
        else {
            SimpleGUI.bar.setValue(0);
 
        }
1
05.12.2018, 21:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.12.2018, 21:12
Помогаю со студенческими работами здесь

Как сделать чтобы при нажатии "Ctrl+Alt+Delete" ничего не происходило.
Как сделать чтобы при нажатии 'Ctrl+Alt+Delete' ничего не происходило.

Как сделать, чтобы при нажатии на ссылку "удалить" происходило удаление строки?
Есть html форма в которую я могу вводить номер задания и адрес задания.когда нажимаю &quot;ок&quot; идет...

C++ как сделать что бы при нажатии на клавишу происходило
Например при нажатии стрелочки вверх или шифт выводился текст на экран

Как сделать так что бы при нажатии на shift ничего не происходило?
Доброго времени суток! Подскажите как сделать так что бы при нажатии на shift ничего не...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru