Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Java Мобильная разработка (Android)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.02.2015, 20:41   #1
ubun
Форумчанин
 
Аватар для ubun
 
Регистрация: 06.12.2010
Сообщений: 198
По умолчанию таймер

всем привет. Ребят может посмотрите почему-то не ускоряется таймер.

чтобы ускорится поставил вот это : if ((x1==x2)&(y1==y2)) {k=k/2; m=m/2;};
Код:
class panel extends JPanel

{
	 int x=0, y=0;
	 int k=1000, m=500;
	 double pi = 3.14159; 
	 int XCenter = 280;
	 int YCenter = 280;
	 
	 
	 
     public panel()
     
     { Timer tm = new Timer(1000, new ActionListener()
     
     
     
           { public void actionPerformed(ActionEvent e) { 
	         x++;
	         y++;
	         
	         repaint(); 
	         y--;
             } });
     
    
       tm.start(); // Запуск
       tm.setDelay(k); // Установка задержки
       int d = tm.getDelay(); // Получение задержки 
       // tm.stop(); // Остановка
      }
     
     { Timer tmm = new Timer(1000, new ActionListener()
     
     { public void actionPerformed(ActionEvent e) { 
      y++;
      repaint(); 
      } });
      
     tmm.start(); // Запуск
     tmm.setDelay(m); // Установка задержки
     int d = tmm.getDelay(); // Получение задержки 
    //tmm.stop(); // Остановка
    }
     
 public void paintComponent(Graphics gr)

 {
  super.paintComponent(gr);
  double Ang=(x * 6)*pi/180;
  double Ang1=(y * 6)*pi/180;
  int x1=(int)(XCenter+Math.sin(Ang)*255), x2=(int)(XCenter-Math.sin(Ang1)*255), y1=(int)(YCenter-Math.cos(Ang)*255), y2=(int)(YCenter-Math.cos(Ang1)*255);
  gr.clearRect(0, 0, 600, 600);
  
  gr.setColor(Color.RED); 
  gr.drawOval(20, 20, 520, 520);
  gr.setColor(Color.GREEN);
  
  gr.drawLine(XCenter, YCenter, x1, y1); 
 
  gr.setColor(Color.BLUE);
  gr.drawLine(XCenter, YCenter, x2, y2);
  gr.setColor(Color.BLACK); 
    
  for (int i=0; i<=59; i++)
  {double Angle=(i * 6)*pi/180;
   gr.drawLine((int)(XCenter+Math.sin(Angle)*245), (int)(YCenter-Math.cos(Angle)*245), (int)(XCenter+Math.sin(Angle)*255), (int)(YCenter-Math.cos(Angle)*255)); 
  } 
   if ((x1==x2)&(y1==y2)) {k=k/2; m=m/2;};
 }
ubun вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
таймер vovacr7 C# (си шарп) 6 10.04.2013 12:29
Таймер Sashka_BezDelnik WPF, UWP, WinRT, XAML 2 08.01.2013 16:02
Таймер SashaKrugliak Помощь студентам 3 24.10.2011 08:13
таймер antonov Помощь студентам 6 08.11.2010 19:17
таймер ZET78 Общие вопросы C/C++ 2 24.05.2010 12:56