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

Отрисовка строк

21.04.2016, 15:01. Показов 648. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть код, который должен выводить на экран апплета массив строк, при этом каждый последующий элемент массива должен располагаться левее предыдущего. Я пытаюсь сделать это через цикл, но при этом у меня смещаются все строки.
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
 
import javax.swing.JApplet;
import javax.swing.JButton;
 
 
public class Lab_10 extends JApplet implements Runnable{
 
    String[] sourceString = {"  ПЕРВЫЙ", "  ВТОРОЙ", "  ТРЕТИЙ", "  ЧЕТВЁРТЫЙ", "  ПЯТЫЙ",
                       "  ШЕСТОЙ", "  СЕДЬМОЙ", "  ВОСЬМОЙ", "  ДЕВЯТЫЙ", "  НУЛЕВОЙ"};
    String[] vibor = new String[10];
    int i,x,y,v,rand;
    volatile Thread mult = null;
    final Random random = new Random();
    Color newColor = new Color(255,255,255);
    Color wordColor = new Color(0,0,0);
    JButton button = new JButton("ПУСК!");
    
    
public void init(){
    setSize(1000, 500);
    v=1;
    
    setBackground(Color.WHITE); 
    add(button, BorderLayout.NORTH);
    
        for(i=0; i<10; i++){rand=random.nextInt(9); vibor[i]=sourceString[rand];}
        
        button.addActionListener(new ActionListener(){          
            public void actionPerformed(ActionEvent e){   
                mult.start(); 
            }                                                        
           });
    
        x=500; y=250;
}
 
 
public void paint(Graphics g){
    g.setColor(newColor);
    g.fillRect(0,200, 1000, 100);
    g.setColor(wordColor);
    
    for(i=0; i<10; i++){
        g.drawString(vibor[i],x,y);
        x=x-40;         
    }
}
 
public void run(){
    while(true){       
            repaint();           
           try{Thread.sleep(200);}
           catch(InterruptedException e){}             
    }
}
 
public void start(){
    mult = new Thread(this);
}
 
public void actionPerformed(ActionEvent event) {
    i=random.nextInt(9);}
}
Как правильно задать цикл, что смещался только отдельный элемент массива, а не всё сразу.
P.s.:функции start, actionPerformed, run нужны будут позже.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.04.2016, 15:01
Ответы с готовыми решениями:

Отрисовка
Возникла небольшая проблема, панель в фрейме отрисовывается с толчка, примерно с третьего раза. Т.е. при первом запуске белый экран, при...

Отрисовка
привет! вообщем я пытался найти через что можно было бы сделать, но безуспешно, вообщем суть такова что нужно разбить...

Отрисовка
Доброго времени суток! Есть пара вопросов, добавлено несколько панелей: главная панель, панель для кнопок, 3х текстбоксов и для...

2
 Аватар для olexiy86
32 / 30 / 11
Регистрация: 27.09.2014
Сообщений: 359
24.04.2016, 17:27
Optimistiys, для начала строка 54 x = x -70.
0
0 / 0 / 0
Регистрация: 26.02.2015
Сообщений: 21
25.04.2016, 17:05  [ТС]
olexiy86, не понял смысла это строки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.04.2016, 17:05
Помогаю со студенческими работами здесь

Отрисовка графики
Привет всем. Пытаюсь нарисовать n-ное количество фигур. Каждая фигура должна получить один из 4-х цветов. А у меня эти цвета постоянно...

Отрисовка JProgressBar
Есть примерно такой код: JFrame frame = new JFrame(); JProgressBar pb = new JProgressBar(); настройка окна и прогрес бара ...

Отрисовка таблиц
Есть несколько моделей таблицы, на панельке главного окна есть бар с кнопками, к каждой кнопке привязана своя модель таблицы. Нужно при...

Отрисовка с буфером
Здравствуйте. Есть код: import java.awt.image.BufferedImage; import java.awt.event.ComponentListener; import javax.swing.*; ...

Отрисовка изображения
Возникла проблема с программой-фреймом. Головной менеджер в ней-CardLayout, содержащий несколько панелей. На одной из них с помощью...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru