Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
66
Добавлен:
18.12.2017
Размер:
2.3 Кб
Скачать
package Lab5;

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

public class DrawGraf extends JComponent
{
int W = 1000;
int H = 450;

public ArrayList<Value> arr;
long coef_y;

void Draw(String inquiry, Graphics2D g2, ArrayList<Value> arr, int H) {

int max_result=0, size=0;
for (int i = 0; i < arr.size(); i++){
if(arr.get(i).getAct()==inquiry) { size++;
if (arr.get(i).getResult()>max_result)
max_result=arr.get(i).getResult();
} }

for (int i = 0, n=0; i < arr.size()-1; i++){
if((arr.get(i).getAct()==inquiry)&&(arr.get(i+1).getAct()==inquiry)) {
int x1 = n;
int x2 = n+1;
int y1 = arr.get(i).getResult();
int y2 = arr.get(i+1).getResult();
double coeff_y1 = 250*y1/(double)max_result;
double coeff_y2 = 250*y2/(double)max_result;
double coeff_x1 = 380*x1/(double)(size);
double coeff_x2 = 380*x2/(double)(size);
g2.drawLine(H+(int)coeff_x1, 330-(int)coeff_y1, H+(int)coeff_x2, 330-(int)coeff_y2); n++;
}
}
}


public void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D) g; //Создаем объект g2 для двумерного рисования из объекта g

int R = (int) (Math.random()*256);
int G = (int)(Math.random()*256);
int B= (int)(Math.random()*256);
Color randomColor = new Color(0, 80, 200);
g2.setColor(randomColor);
g2.drawRoundRect(20, 60, 450, 300, 20, 20);
g2.drawRoundRect(500, 60, 450, 300, 20, 20);

Draw("aAdd", g2, arr, 40);
Draw("lAdd", g2,arr, 530);
g2.setColor(Color.RED);
Draw("aRemove", g2, arr, 40);
Draw("lRemove", g2,arr, 530);
/*g2.setColor(Color.GREEN);
Draw("aAddTotalTime", g2, arr, 40);
Draw("lAddTotalTime", g2, arr, 520);
g2.setColor(Color.RED);
Draw("aRemoveTotalTime", g2, arr, 40);
Draw("lRemoveTotalTime", g2, arr, 520); */
}

public Dimension getPreferredSize() {
return new Dimension(W, H);
}
}
/* for (int i = 0; i < val.size()-1; i++){
if(.get(i+1).getAct()=="aAdd") {
int x1 = val.get(i).getAccount();
int x2 = val.get(i+1).getAccount();
int y1 = val.get(i).getResult();
int y2 = val.get(i+1).getResult();
g2.drawLine(40+x1*400/val.size(), 330-y1*200/max_Y, 40+x2*400/val.size(), 330-y2*200/max_Y);
} }
*/
Соседние файлы в папке Lab5