package paintrodrigo;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.util.ArrayList;
import javax.swing.BorderFactory;
import javax.swing.JPanel;
static public boolean linea = false;
static public boolean circulo = false;
static public boolean cuadrado = false;
static public boolean arco = false;
static public boolean borrador= false;
static public Color colorFigura
;
static int px;
static int py;
static int ux;
static int uy;
CrearYsituarSlider slider2;
CrearYsituarSlider slider;
Image im
= Toolkit.
getDefaultToolkit().
createImage("src/imagenes/Cuadrado.png");
public PanelPaint(CrearYsituarSlider slider2, CrearYsituarSlider slider) {
this.addMouseListener(this);
this.addMouseMotionListener(this);
this.slider=slider;
this.slider2=slider2;
}
}
public void paintComponent
(Graphics g
) { super.paintComponent(g);
this.
setBackground(Color.
GREEN); System.
out.
println("px " + px
); //System.out.println("py " + py);
System.
out.
println("ux " + ux
); //System.out.println("uy " + uy);
////////////////////////////BORRADOR////////////////////////////
if (borrador) {
rePintar();
g2.setColor(blanco);
g2.drawLine(px, py, ux, uy);
setCursor(cur);
}
////////////////////////////LINEA////////////////////////////
if (linea) {
rePintar();
//g2.setStroke(new BasicStroke(slider2.valorSlider2()));
g2.setColor(colorFigura);
g2.drawLine(px, py, ux, uy);
}
////////////////////////////CIRCULO////////////////////////////
if (circulo) {
rePintar();
//g2.setStroke(new BasicStroke(slider2.valorSlider2()));
g2.setColor(colorFigura);
g2.fillOval(px, py, ux, uy);
}
////////////////////////////CUADRADO////////////////////////////
if (cuadrado) {
rePintar();
g2.setColor(colorFigura);
g2.drawLine(px, py, ux, py);
g2.drawLine(px, py, px, uy);
g2.drawLine(ux, uy, ux, py);
g2.drawLine(ux, uy, px, uy);
/*setForeground(Color.red);
g2.fillRect(px,py,ux-px,uy-py);
g2.setColor(Color.black);
g2.drawRect(px,py,ux-px,uy-py);*/
}
}
public void rePintar() {
for (int t = 0, a = 0; t < posicionesLinea.size(); t += 4, a++) {
g2.
setColor((Color) colorLinea.
get(a
)); g2.drawLine((int) posicionesLinea.get(t), (int) posicionesLinea.get(t + 1),
(int) posicionesLinea.get(t + 2), (int) posicionesLinea.get(t + 3));
}
for (int t = 0, a = 0; t < posicionesCirculo.size(); t += 4, a++) {
g2.
setColor((Color) colorCirculo.
get(a
)); g2.fillOval((int) posicionesCirculo.get(t), (int) posicionesCirculo.get(t + 1),
(int) posicionesCirculo.get(t + 2), (int) posicionesCirculo.get(t + 3));
}
for (int t = 0, a = 0; t < posicionesBorrador.size(); t += 4, a++) {
g2.
setColor(Color.
WHITE); g2.drawLine((int) posicionesBorrador.get(t), (int) posicionesBorrador.get(t + 1),
(int) posicionesBorrador.get(t + 2), (int) posicionesBorrador.get(t + 3));
}
}
@Override
if (linea) {
ux = e.getPoint().x;
uy = e.getPoint().y;
//repaint(px, py, ux, uy);
}
if (circulo) {
ux = e.getPoint().x - px;
uy = e.getPoint().y - py;
//repaint(px, py, ux, uy);
}
if (cuadrado) {
ux = e.getPoint().x;
uy = e.getPoint().y;
//repaint(px, py, ux, uy);
}
if (borrador) {
px = e.getPoint().x;
py = e.getPoint().y;
ux = px;
uy = py;
posicionesBorrador.add(px);
posicionesBorrador.add(py);
posicionesBorrador.add(ux);
posicionesBorrador.add(uy);
//colorBorrador.add(colorFigura);
}
repaint();
}
@Override
}
@Override
System.
out.
println("linea " + linea
); System.
out.
println("circulo " + circulo
); System.
out.
println("cuadrado " + cuadrado
); System.
out.
println("arco " + arco
); }
@Override
if (linea) {
px = e.getPoint().x;
py = e.getPoint().y;
}
if (circulo) {
px = e.getPoint().x;
py = e.getPoint().y;
}
if (cuadrado) {
px = e.getPoint().x;
py = e.getPoint().y;
}
}
@Override
if (linea) {
posicionesLinea.add(px);
posicionesLinea.add(py);
posicionesLinea.add(ux);
posicionesLinea.add(uy);
colorLinea.add(colorFigura);
}
if (circulo) {
posicionesCirculo.add(px);
posicionesCirculo.add(py);
posicionesCirculo.add(ux);
posicionesCirculo.add(uy);
colorCirculo.add(colorFigura);
}
}
@Override
}
@Override
}
}