package AlgorithmAnimation;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Rectangle2D;
import javax.swing.JPanel;
/**
* Acest Panel afiseaza masivul, semalind 2 din elementele lui
* @author Dan
*
*/
public class ArrayPanel extends JPanel
{
/**
*
*/
private static final long serialVersionUID = 1L;
public void paintComponent(Graphics g)
{
if(values == null) return;
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
g2.setColor(Color.RED);
int width = getWidth() / values.length;
for(int i=0; i<values.length;i++)
{
double height = values[i]*getHeight();
Rectangle2D bar = new Rectangle2D.Double(width*i,0,width,height);
if(values[i] == marked1 || values[i] == marked2)
{
g2.fill(bar);
}
else
g2.draw(bar);
}
}
/**
* Seteaza valorile pentru afisare
* @param values Masiv de valori pentru afisaer
* @param marked1 Primul element markat
* @param marked2 Al doilea element markat
*/
public void setValues(Double[] values,Double marked1,Double marked2)
{
this.values = values;
this.marked1 = marked1;
this.marked2 = marked2;
repaint();
}
private Double[] values;
private Double marked1;
private Double marked2;
}