Форум программистов, компьютерный форум, киберфорум
Java: GUI, Графика
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 10.06.2015
Сообщений: 15
1

Проход по элементам массива

17.05.2016, 18:11. Просмотров 1200. Ответов 13
Метки нет (Все метки)


Всем доброго времени суток! У меня сложилась такая вот дилемма.
Java
1
2
3
4
5
 String [] qu= {"Что тут?", "А тут?"};
        for(int i=0; i < qu.length; i++) {  
            jLabel1.setText(qu[i]);
          
        }
В результате выводит только последний элемент "А тут?". Как сделать так, чтобы выводилось и "Что тут?" ?
Кто знает в чем проблема?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.05.2016, 18:11
Ответы с готовыми решениями:

Проход по элементам списка
определить функцию ДОБАВЬ прибавляющую к элементам списка заданное число. (defun добавь (x y)...

mpl проход по элементам
Пытался написать вывод элементов vector_c не через for_each. Не вышло. Кто подскажет как сие...

Не идет проход по элементам списка
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;windows.h&gt; #include &lt;string.h&gt; #define N 100;...

CheckListBox автоматический проход по элементам
Друзья помогите как в компоненте CheckListBox снять все галочки с Items for(int i = 0; i &lt;...

13
8 / 8 / 6
Регистрация: 11.04.2016
Сообщений: 75
17.05.2016, 18:20 2
JLabel принимает все значения i, но вы видите только последнее, поскольку первое уже затерлось.
1
0 / 0 / 0
Регистрация: 10.06.2015
Сообщений: 15
17.05.2016, 18:32  [ТС] 3
Не подскажете, как исправить?
0
8 / 8 / 6
Регистрация: 11.04.2016
Сообщений: 75
17.05.2016, 18:37 4
Какая задача стоит?

Вывести все значения массива? Тогда нужно использовать несколько JLabel.
Вывести все значения подряд в одном JLabel? Тогда нужно сложить предыдущее значение массива с последующим.
Вывести значения в одном JLabel с паузой? Тут нужно прерывание потока.
1
0 / 0 / 0
Регистрация: 10.06.2015
Сообщений: 15
17.05.2016, 18:39  [ТС] 5
Мне нужно вывести с паузой(как я рад, что есть люди, которые формулируют мысли лучше меня ) Как мне произвести это прерывание потока?
0
4 / 4 / 2
Регистрация: 10.05.2016
Сообщений: 12
17.05.2016, 18:44 6
Цитата Сообщение от funster Посмотреть сообщение
Мне нужно вывести с паузой(как я рад, что есть люди, которые формулируют мысли лучше меня ) Как мне произвести это прерывание потока?
Ок, пауза должна длиться определенное время или значение должно измениться по нажатию на какую-то кнопку?
0
0 / 0 / 0
Регистрация: 10.06.2015
Сообщений: 15
17.05.2016, 18:49  [ТС] 7
Изменение по нажатию на кнопку. Сейчас объясню цель данного цикла) У меня есть фрейм для тестов. Чтобы не создавать отдельно по фрейму на каждый вопрос, куда целесообразнее просто изменять содержимое данного фрейма. Вот я начал с самого простого - лейбла, а тут же "сел"..
0
4 / 4 / 2
Регистрация: 10.05.2016
Сообщений: 12
17.05.2016, 19:01 8
Цитата Сообщение от funster Посмотреть сообщение
Изменение по нажатию на кнопку. Сейчас объясню цель данного цикла) У меня есть фрейм для тестов. Чтобы не создавать отдельно по фрейму на каждый вопрос, куда целесообразнее просто изменять содержимое данного фрейма. Вот я начал с самого простого - лейбла, а тут же "сел"..
Сделай так. После щелчка на кнопку вызвается функция, потом присваивание и инкрементируется i
Примерно так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
класс()
{
    static int i = 0;
    private void jButtonMouseClicked(java.awt.event.MouseEvent evt)
    {
        функция();
    }
    private void функция()
    {
        if (i<qu.length)
        {
            jLabel1.setText(qu[i]);
            i++;
        }
    }
}
0
8 / 8 / 6
Регистрация: 11.04.2016
Сообщений: 75
17.05.2016, 19:04 9
Тут вывод значений массива в консоль. В JLabel выводится аналогично.

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
import java.util.*;
 
public class Main
{
    public static void main(String[] args)
    {
        final String[] txt = {"one", "two", "three"};
        
        final Timer t = new Timer();
        TimerTask tt = new TimerTask(){
            @Override
            int i;
            public void run(){
                
                System.out.println(txt[i]);
                if (i < txt.length-1) i++;
                else t.cancel();
                
            }
        };
        t.  schedule(tt, 0, 1000);
        
    }
}
0
0 / 0 / 0
Регистрация: 10.06.2015
Сообщений: 15
17.05.2016, 19:20  [ТС] 10
Что-то у меня не получается, ребят..
0
4 / 4 / 2
Регистрация: 10.05.2016
Сообщений: 12
17.05.2016, 19:26 11
Скинь свой код
0
0 / 0 / 0
Регистрация: 10.06.2015
Сообщений: 15
17.05.2016, 19:28  [ТС] 12
Java
1
2
3
4
5
6
7
 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
     String [] qu= {"Что будет выведено тут?", "Тут"};
    int i = 0;
        jL1.setText(qu[i]);
        if (i < qu.length-1) i++;
        
    }
0
4 / 4 / 2
Регистрация: 10.05.2016
Сообщений: 12
17.05.2016, 19:38 13
Лучший ответ Сообщение было отмечено funster как решение

Решение

i надо определить не в функции, а в классе

Добавлено через 4 минуты
плюс if должен быть таким
Java
1
2
3
4
5
if (i<qu.length)
        {
            jLabel1.setText(qu[i]);
            i++;
        }
Добавлено через 1 минуту
Цитата Сообщение от funster Посмотреть сообщение
Java
1
2
3
4
5
6
7
 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
     String [] qu= {"Что будет выведено тут?", "Тут"};
    int i = 0;
        jL1.setText(qu[i]);
        if (i < qu.length-1) i++;
        
    }
Сделай так
Java
1
2
3
4
5
6
7
8
9
10
11
int i = 0;
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
     String [] qu= {"Что будет выведено тут?", "Тут"};
    
        if (i<qu.length())
        {
            jLabel1.setText(qu[i]);
            i++;
        }
        
    }
1
0 / 0 / 0
Регистрация: 10.06.2015
Сообщений: 15
17.05.2016, 19:45  [ТС] 14
Сработало, спасибо!! Я всё это время не туда смотрел. Просто выручили, спасибо!

Добавлено через 47 секунд
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.05.2016, 19:45

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Проход по элементам односвязного линейного списка
Допустим у меня существует класс линейного односвязного списка. Надо пройти по его элементам и...

Проход по всем элементам MenuStrip и NullReferenceException was unhandled
Добрый день! Сразу скажу, что в программировании я неселен. Для облегчения своей работы...

Проход по всем элементам некоторого типа объектов, расположенных на форме
Приветствую. Есть серия кнопок TSpeedButton на форме. Возможно-ли пройти циклом по ним (будто это...

[tasm] Как сделать проход по всем элементам ниже побочной диагонали матрицы
Добрый день(вечер). Использую тасм. Возникла небольшая проблема при написании кода. В общем ломаю...

Проход по элементам коллекции и ошибка "Индекс находился за пределами диапазона"
День добрый, у меня тут достаточно загадочная ситуация. нужна помощь. есть цикл, при помощи...

Среди элементов массива Z (m) найти k (k << m) крупнейших. Поиск осуществить за один проход (просмотр) массива Z
Среди элементов массива Z (m) найти k (k &lt;&lt; m) крупнейших. Поиск осуществить за один проход...


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

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

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