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

Graphics g Диаграммы

04.01.2017, 23:40. Показов 1837. Ответов 0

Студворк — интернет-сервис помощи студентам
В ходе написания курсовой столкнулся с проблемой, она заключалась в том что мне нужно было создать линейную диаграмму а получилась объемная, прошу вашей помощи в решении данной проблемы.
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
75
76
77
78
79
80
81
82
83
84
85
package kursova_ivan;
import java.awt.*;
import javax.swing.*;
import java.util.ArrayList;
/**
 *
 * @author Ivan
 */
public class DrawOnTable extends JPanel{
    @Override
    public void paintComponent(Graphics g)
    {
        super.paintComponent(g);
        this.setBackground(Color.white);
        if(!Kursach.Numbers.isEmpty())
            DrawDiagrams(g);
    }
        private void DrawDiagrams(Graphics g)
    {
        ArrayList temperatures = Kursach.Numbers;
        float maxTemp = 0;
       for(Object item: temperatures)
        {
            if(maxTemp<(float)item)
                maxTemp = (float)item;
        }
 
        int x1=15;
        int y1;
 
       Graphics2D gr2d = (Graphics2D)g;
 
 
        String[] urozhay = new String[]
                {
          "1 год", "2 год", "3 год", 
          "4 год", "5 год", "6 год",            
          "7 год"
        };
        
        for(int i=0;i<7;i++)
        {
            y1=20;
            float tmp = (float)temperatures.get(i);
            float value = tmp;
            if(value<0)
                value = 1/-value;
 
            float diagrSize = (float)((float)value/(float)maxTemp);
            float temp = 410*diagrSize;
            float height =410 - temp;
 
 
 
            y1= y1+(int)height;
 
            Polygon baseRect = new Polygon();
            baseRect.addPoint(x1, y1);
            baseRect.addPoint(x1+40, y1);
            baseRect.addPoint(x1+40, y1+(int)temp);
            baseRect.addPoint(x1,y1+(int)temp);
            gr2d.drawPolygon(baseRect);
 
 
            Polygon innerPol = new Polygon();
            innerPol.addPoint(x1 , y1);
            innerPol.addPoint(x1+35, y1);
            innerPol.addPoint(x1+35, y1+(int)temp-9);
            innerPol.addPoint(x1, y1+(int)temp-9);
            gr2d.setColor(Color.RED);
            gr2d.fillPolygon(innerPol);
 
            gr2d.setColor(Color.BLUE);
            
           
            gr2d.setColor(Color.DARK_GRAY);
            gr2d.drawString(urozhay[i], x1, 450);
            x1+=40;
 
        }
 
    }
    
    
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.01.2017, 23:40
Ответы с готовыми решениями:

Graphics g
Читаю книгу Хед Фест Джава и там есть вот такой вод код - import java.awt.*; import javax.swing.*; class Panel extends...

Graphics in Stream
Господа, вот в чем дело: Хочу через клиент-сервер передавать Graphics (OutputStream.write), оба в один голос кричат:...

Проблема с Graphics g
Есть программа,всё работает,но захотелось прикрутить график,нашел в нете чужой код,понравился... Проблема в том,что при вызове...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.01.2017, 23:40
Помогаю со студенческими работами здесь

Использование Graphics
Добрый день. Нет ли другого способа перемещения квадрата fillRect() по canvas без необходимости после каждого изменения координат заново...

Инициализация Graphics g
здравствуйте друзья можно ли в данном методе: public static void drawPaint(Graphics g, int x, int y){ Graphics2D g2d =...

Работа с Graphics
Привет всем, помогите разобраться. При нажатии на кнопку выполняется такой код: Graphics graphics1; graphics1=GetGraphics(); ...

Обнуление элемента Graphics g
Как обнулить графический элемент во фрейме при нажатии кнопки? Вот код элемента static class MyPaintComponent extends JComponent{ ...

Работа с объектом Graphics
Добрый вечер. Данная программа компилируется без ошибок, однако я при запуске я не вижу холст для рисования. Подскажите, пожалуйста, что...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru