Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
1 / 1 / 1
Регистрация: 25.12.2013
Сообщений: 44

Движение текста без использования потоков - Applet

26.09.2015, 19:12. Показов 1817. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здраствуйте,хочу чтобы текст без использовние потоков двигался.У меня вроде получилось.Но как сделать чтобы текст пропадал ,а то он накладываеться один на другой.
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
70
71
72
73
74
public class JavaApplet extends Applet  implements  MouseListener{
    String msg=new String("first");
    int x=0;
    int y=20;
    int clickCounter=0;//we will increment this shit when user will do double click
    void setString()
    {
        if(this.clickCounter%2==0)
        {
            this.msg="first";
        }
        else
        {
            this.msg="second";
        }
    }
    
    public void init() {
    setBackground(Color.yellow);
    setForeground(Color.black);  
      
    addMouseListener( this );// 
}
    public void start(){
    
}
public void paint(Graphics g){
    while(true){
    try {
        Thread.sleep(1000);
    
        update( g );
        }
    catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    setForeground(Color.yellow);
    
}}
public void mouseClicked( MouseEvent e )
{       this.clickCounter++;
        this.setString();
        setForeground(Color.yellow);
       repaint();
       e.consume();
}
public void update( Graphics g ) {
    x +=10; 
    
    g.drawString(msg,x,y);  
}
@Override
public void mouseEntered(MouseEvent e) {
    // TODO Auto-generated method stub
    
}
@Override
public void mouseExited(MouseEvent e) {
    // TODO Auto-generated method stub
    
}
@Override
public void mousePressed(MouseEvent e) {
    // TODO Auto-generated method stub
    
}
@Override
public void mouseReleased(MouseEvent e) {
    // TODO Auto-generated method stub
    
}
 
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.09.2015, 19:12
Ответы с готовыми решениями:

Титры (Движение текста без использования мышки)
Столкнулся С Такой Проблемой, Что Когда Нажимаешь На Кнопку (Сделал как ссылку) Должно Начинаться Движение Текста Вверх, Но Почему-то У...

Синхронизация потоков без использования mutex
Была написана прога (в целях лабораторной работы) синхронизации потоков,на защиту дали переделать не используя mutex,используя симафоры...

Вывод номеров потоков без использования циклов
Нужно,применяя openMP и mutex-ы вывести на экран номера потоков,не используя циклы. Например у нас 5 потоков есть,вывод : 4,3,2,1,0 С...

11
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
27.09.2015, 00:58
Лучший ответ Сообщение было отмечено BohdanSavych как решение

Решение

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
   public void paint(Graphics g) {
      while (true) {
         try {
            Thread.sleep(1000);
            g.clearRect(0, 0, this.getWidth(), this.getHeight());
            update(g);
         } catch (InterruptedException e) {
            e.printStackTrace();
         }
      }
   }
 
   public void update(Graphics g) {
      x += 10;
      if (x > this.getWidth()) {
         x = 0;
      }
      g.drawString(msg, x, y);
   }
1
1 / 1 / 1
Регистрация: 25.12.2013
Сообщений: 44
27.09.2015, 12:45  [ТС]
подскажите как менять текст при клике мышкой?
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
public void mouseClicked( MouseEvent e )
{       
        this.clickCounter++;
         
       e.consume();
}
    void setString()
    {
        if(this.clickCounter%2==0)
        {
            this.msg="first";
        }
        else
        {
            this.msg="second";
        }
    }
public void update( Graphics g ) {
      x += 10;
      if (x > this.getWidth()) {
         x = 0;
      } this.setString();
        g.drawString(msg, x, y);
}
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
27.09.2015, 12:55
меняйте его в обработчике клика, а не в отрисовке строки
0
1 / 1 / 1
Регистрация: 25.12.2013
Сообщений: 44
27.09.2015, 13:41  [ТС]
Java
1
2
3
4
5
6
public void mouseClicked( MouseEvent e )
{       
        this.clickCounter++;
        this.setString();
       e.consume();
}
не работает
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
27.09.2015, 13:52
потому что компонент еще не отрисован и никогда не будет отрисован, т.к. в нем бесконечный цикл
0
1 / 1 / 1
Регистрация: 25.12.2013
Сообщений: 44
27.09.2015, 14:42  [ТС]
и что мне делать?)
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
27.09.2015, 15:36
BohdanSavych, использовать потоки, ну или хотя бы таймер
0
1 / 1 / 1
Регистрация: 25.12.2013
Сообщений: 44
27.09.2015, 18:44  [ТС]
окей ,спасибо Вам.
0
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
29.09.2015, 19:14
можешь перерисовать компонент на котором выводишь текст

допустим panel.updateUI();

Добавлено через 1 минуту
если я вообще вник в вопрос.... Я лично так делал иногда
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
29.09.2015, 19:19
Цитата Сообщение от ArtemFM Посмотреть сообщение
можешь перерисовать компонент на котором выводишь текст
допустим panel.updateUI();
Цитата Сообщение от M128K145 Посмотреть сообщение
и никогда не будет отрисован, т.к. в нем бесконечный цикл
Правильный ответ на вопрос:
Цитата Сообщение от ArtemFM Посмотреть сообщение
если я вообще вник в вопрос
- нет
0
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
29.09.2015, 19:21
))) Так и понял, ибо после сообщения я как раз и увидел
"и никогда не будет отрисован, т.к. в нем бесконечный цикл"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.09.2015, 19:21
Помогаю со студенческими работами здесь

Ввод через файл без использования потоков
Добрый день Меня интересует вопрос как сделать ввод через файл без использования потоков. Это вот так или нет? int main() { ...

Одновременное выполнение действий без использования потоков/процессов
Нужно ожидать ввода команды со стандартного потока и в то же время в начале каждого часа вызывать некую функцию ( func назовем). ...

Вывод текста без использования библиотек
в общем вот такая вот задачка на Turbo C написать такую дрянь надо , блин говорят всего то строчки 3-4 ....вообще без использования любых...

Applet. Произвольное движение кружка
Сделать так, чтобы круг двигался по апплету произвольно. Т.е. ударяется об стенку и двигается. Помогите, пожалуйста. Нашел исходник, только...

Напечатать самое длинное слово из текста (без использования string)
Напечатать самое длинное слово из текста на С++. Запретили пользоваться string. Нужна блок-схема алгоритма


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
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