Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. package figuras;
  2.  
  3. import java.awt.*;
  4. import java.awt.geom.*;
  5. import javax.swing.JFrame;
  6. import javax.swing.JPanel;
  7.  
  8. /**
  9.  *
  10.  * @author Rafa
  11.  */
  12. public class Figuras2D extends JPanel{
  13.    
  14.     public void paintComponent(Graphics g){
  15.         super.paintComponent(g);
  16.        
  17.         Graphics2D g2d = (Graphics2D) g; //convierte g en graphics2D
  18.        
  19.         //dibuja rectángulo en 2D
  20.         //g2d.setPaint(Color.cyan); //Color del rectangulo
  21.         g2d.setStroke(new BasicStroke(20.0f)); //Establece el ancho de la linea
  22.         g2d.setPaint(new GradientPaint(80, 100, Color.CYAN, 8, 20, Color.BLACK, true)); //gradiente
  23.         g2d.draw(new Rectangle2D.Double(45, 45, 399, 378));
  24.        
  25.        
  26.         //dibuja un elipse en 2D azul
  27.         g2d.setPaint(new GradientPaint(80, 10, Color.DARK_GRAY, 8, 2, Color.pink, true));
  28.         g2d.fill(new Ellipse2D.Double(58, 58, 370, 350));
  29.        
  30.         //dibuja un circulo con relleno gradiente grande
  31.         g2d.setPaint(new GradientPaint(80, 100, Color.GREEN, 8, 200, Color.black, true));
  32.         g2d.fill(new Ellipse2D.Double(128, 98, 220, 270));
  33.        
  34.         //dibuja linea
  35.         g2d.setStroke(new BasicStroke(30.0f)); //grosor de la linea blanca
  36.         g2d.setPaint(new GradientPaint(80, 100, Color.orange, 8, 20, Color.BLACK, true)); //gradiente
  37.         g2d.draw(new Line2D.Double(55, 55, 350, 350));
  38.        
  39.         //Dibuja arco negro
  40.         g2d.setPaint(Color.BLACK);
  41.         g2d.setStroke(new BasicStroke(15.0f)); //grosor del arco negro
  42.         g2d.draw(new CubicCurve2D.Double(50, 60, 100, 800, 500, 50, 300, 200));
  43.        
  44.     }
  45.    
  46.     public static void main(String[] args) {
  47.          //crea el frame para el objeto Figuras
  48.         JFrame frame = new JFrame("Figuras 2D");
  49.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  50.        
  51.         //crea objeto Figuras
  52.         Figuras2D figuras2D = new Figuras2D();
  53.        
  54.         frame.add(figuras2D);
  55.         frame.setSize(500, 500);
  56.         frame.setVisible(true);
  57.         frame.setLocationRelativeTo(null); //centra el panel
  58.     }
  59. }