Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Диаграмма, Нужен пример... 
:(
    Опции темы
XClan
Дата 20.9.2004, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 434
Регистрация: 14.10.2003
Где: Планета Сириус

Репутация: 2
Всего: 3



Киньте мне пжалуйста какой нить пример просого построения диаграммы ,чтобы каждую секунду добавляла новые данные
Ну например имеется список new long (10) .... new long (40) и беря эти данные сумировав добавляет новый столбец и так каждую секунду... Можно 5 секунд.. Ну это не важно.. Главное чтобы был виден результат построения графики .. уж там я постараюсь понять , как оно работает.. Спасибо!


--------------------
rm -rf /bin/laden
PM MAIL WWW   Вверх
TrivialCore
Дата 20.9.2004, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 242
Регистрация: 26.4.2004

Репутация: 2
Всего: 5



Откуда она должна брать данные?

Я бы сделал так, что создал отдельно модель, которая обновляет свои данные через каждую секунду и при етом информирует view т.е. скажем класс-панель отображающую данные (можно через Observable-Observer).
PM MAIL   Вверх
XClan
Дата 20.9.2004, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 434
Регистрация: 14.10.2003
Где: Планета Сириус

Репутация: 2
Всего: 3



Брать у меня она будет с конструктора..
Там будет целый список с new long ()
Вот мне бы пример который бы имея например 2 разных String(new long(20)) и String(new long(1)) и чтобы рисовала диаграмму... зная чему равен x(),y();
Я просто не могу найти пример, чтобы понять его работу..


--------------------
rm -rf /bin/laden
PM MAIL WWW   Вверх
TrivialCore
Дата 20.9.2004, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 242
Регистрация: 26.4.2004

Репутация: 2
Всего: 5



Ты не знаешь, как рисовать или что?

(З.Ы. new long(20) - такого не бывает)
PM MAIL   Вверх
XClan
Дата 20.9.2004, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 434
Регистрация: 14.10.2003
Где: Планета Сириус

Репутация: 2
Всего: 3



Вернее не знаю как рисовать ...

Long l_alive_max_rt = new Long(alive.max.recTime);
alive_x = l_alive_max_rt.toString();

----------
Ну а так для примера мне достаточно будет

alive.min.recTime = 101;
alive.max.recTime = 171;

Ну что-то в этом роде...


--------------------
rm -rf /bin/laden
PM MAIL WWW   Вверх
Domestic Cat
Дата 20.9.2004, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



чет я не совсем понял , о чем разговор. Какую диаграмму тебе нужно? Вот пример
гистограммы (сорри за грязный стиль, особо времени нет smile.gif)
Код

import java.awt.*;
import javax.swing.*;
import java.util.*;
import java.awt.event.*;

public class A extends JFrame
{
   private MyPanel panel;
   
   public A()
   {
       setSize(600, 200);
       panel = new MyPanel();
       getContentPane().add(panel, BorderLayout.CENTER);
       setDefaultCloseOperation(EXIT_ON_CLOSE);
       setVisible(true);
   }
   public static void main(String [] args)
   {  
       new A();
   }
}

class MyPanel extends JPanel implements ActionListener
{
   Vector data = new Vector(200);
   int numberOfIntervals = 5;
   int width = 30; // shirina stilbca gistogrammy
   int unitHeight = 20; // prirashhenie stobca po vysote
   double maximum = 1; // maximal'noe znachenie dannyh. Nuzhno pereschityvat' po-normal'nomu
   double dataWidth = maximum/numberOfIntervals; //  shirina intervala
   int offset = 10;
   Color [] colors = new Color[] {Color.GRAY, Color.YELLOW, Color.RED, Color.BLUE, Color.GREEN};
   
   public MyPanel()
   {
       setPreferredSize(new Dimension(500, 500));
       setMinimumSize(new Dimension(500, 500));
       data.add(new Double(0.2));
       data.add(new Double(0.4));
       data.add(new Double(0.7));
       javax.swing.Timer timer = new javax.swing.Timer(300, this); // 300 ms
       timer.start();
   }
   
   public void paintComponent(Graphics g)
   {
       for (int i = 0; i < numberOfIntervals; i++)
       {
           g.setColor(colors[i]);
           int length = 0;
           for (int j = 0; j < data.size(); j++)
           {
               if (((Double)data.get(j)).doubleValue() > i*dataWidth && ((Double)data.get(j)).doubleValue() < (i + 1)*dataWidth)
               {
                   length++;
               }
           }
           g.fillRect(0, offset + width*i, length*unitHeight, width);
       }
   }
   
   public void actionPerformed(ActionEvent ae)
   {
       double random = Math.random();
       data.addElement(new Double(random));
       repaint();
   }
}



--------------------

PM   Вверх
LSD
Дата 20.9.2004, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



В состав JDK входит демка Java2D, так там есть один класс который в реальном времени строит график используемой памяти. Посмотри его может он подойдет.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0909 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.