Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Апплеты > Рисование в Java


Автор: A... 31.8.2005, 13:51
Привет всем,
Итак есть два масива
Код

int time[]; // 1,2,3,4,5,6,7,8,9
double value[]; //10.1, 10.2 .... 10.9 


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

Зарание спасибо.
А.


Автор: batigoal 31.8.2005, 14:03
Конкретизируй вопрос. Где рисовать? В апплете, в десктоп-приложении? Пытался ли сделать что-нибудь сам?

Автор: A... 31.8.2005, 14:10
Lamer George В апплете. Я прочитал главу "работа с изображенияами" но не нашел то, что мне нужно. Да и еще очень важный момент, после рисования нужно сохранить зту картинку в формате .jpeg.

Автор: batigoal 31.8.2005, 15:23
Вечером выложу пример (он у меня дома), если никто этого раньше не сделает.

Насчет сохранения - воспользуйся поиском, этот вопрос недавно отвечали.


Модератор: переношу тему в Апплеты из Общих вопросов

Автор: JulT 31.8.2005, 16:06
Цитата(Lamer @ 31.8.2005, 15:23)
Вечером выложу пример (он у меня дома), если никто этого раньше не сделает.

Насчет сохранения - воспользуйся поиском, этот вопрос недавно отвечали.


Модератор: переношу тему в Апплеты из Общих вопросов

я тоже не откажусь от примера,а лучше для desktor,мне нужно сделать программку,которая будет строить графики

Автор: A... 31.8.2005, 16:21
ОК, буду ждать.

Автор: batigoal 31.8.2005, 20:41
Итак, пример. Это моя первая институтская лабораторная, так что звиняюсь за примитивизм. Она рисует машинку. Тому, кто скажет что-нибудь про мои художественные способности, я оторву выступающие части тела и поменяю местами smile

Тут есть вывод текста, изменение цветов, рисование полигонов, овалов, дуг и отрезков. Точку можно рисовать, как маленький круг.
При вызове апплета ему нужно передать два параметра - строки author и theme.

Вот HTML-страница:
Код

<HTML><TITLE>Лабораторная работа №1</TITLE>
<P><H4>Студент группы ПВТ-011 Anonymous</H4>
<HR>
<P><H3>Лабораторная работа №1 "Рисование в окне апплета"</H3></P>
<APPLET  
         CODE="Lr1.class" 
         WIDTH=300 
         HEIGHT=300>
<PARAM NAME="AUTHOR" VALUE="Anonymous">
<PARAM NAME="THEME" VALUE="Автомобиль">
</APPLET></HTML>


Код

import java.awt.*;
import java.applet.*;

public class Lr1 extends Applet
{
// Строки для хранения параметров апплета
  String author, theme; 
// Координаты рисунка в окне апплета
  int x0, y0;
// Собственные цвета для рисования           
  Color col; 

 public void init()
 {
 // Получение параметров из HTML-файла
   author = getParameter("AUTHOR");
   theme = getParameter("THEME");

 // Установка цвета фона окна апплета
   setBackground(new Color(55, 205, 255));
 // Установка шрифта
   setFont(new Font("Times New Roman", Font.BOLD+Font.ITALIC, 16));
 
 // Изображение автомобиля размером 95х110 пикселей должно
 // располагаться в центре окна апплета.
 // Вычисление координат левого вехнего угла рисунка:
   x0 = (getSize().width - 95)/2;
   y0 = (getSize().height - 110)/2;

 // Создание собственного цвета для рисования 
   col = new Color(0, 0, 155);
 }
 public void paint(Graphics g)
 {
 // Массивы координат фрагментов автомобиля
 // относительно левого вехнего угла рисунка 
  int xPol1[] = {30, 60, 90, 100};
  int yPol1[] = {70, 55, 55, 70};

  int xPol2[] = {5, 5, 15, 105, 105};
  int yPol2[] = {90, 80, 70, 70, 90};

  int xPol3[] = {45, 63, 87, 93};
  int yPol3[] = {67, 58, 58, 67};

 // Установка цвета для рисования графических примитивов
   g.setColor(col);

 // Вывод строк-сообщений в окно апплета 
   g.drawString("Автор: " + author, 20, 20);
   g.drawString("Тема: " + theme, 20, 40);

   g.drawString("Ford ", 140, 110);

   g.drawArc(135, 92, 45, 25, 0, 360);

 // Вывод сообщения в строку состояния браузера
   showStatus("Апплет Lr1 - "+author); 

 // Установка нового начала координат графического контекста.
 // Начало координат - левый верхний угол изображения 95х110
   g.translate(x0, y0);

 // Корпус
   g.fillPolygon(xPol1, yPol1, 4);
   g.fillPolygon(xPol2, yPol2, 5);

 // Колеса
   g.setColor(Color.black);
   g.fillOval(15, 80, 18, 18);
   g.fillOval(80, 80, 18, 18);

 // Окно
   g.setColor(Color.white);
   g.fillPolygon(xPol3, yPol3, 4);

 // Мигалка
   g.setColor(Color.red);
   g.fillArc(70, 48, 15, 15, 90, 90);
   g.setColor(Color.blue);
   g.fillArc(70, 48, 15, 15, 0, 90);

 // Разделитель окна
   g.setColor(col);
   g.drawLine(75,56,75,69);
 } 


Автор: A... 1.9.2005, 14:27
Lamer George Спасибо. А как можно сохранить зту картинку в формате .jpeg ?

Автор: Metal_Heart 1.9.2005, 14:37
глянь сюда:
http://forum.vingrad.ru/index.php?showtopic=51129&hl=jpeg

а вообще, Lamer George предлагал тебе поиском пользоваться (кнопочка вверху страницы)

Автор: PascalC 13.5.2009, 21:13
А можно тот же пример только под десктоп-приложение?
Джаву тоже только недавно начал изучать

Автор: batigoal 14.5.2009, 09:14
PascalC, поищи по форуму темы по преобразованию апплета в десктоп-приложение, они были. Все очень просто.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)