Para dibujar una linea utilizamos las siguientes lineas de código
package graficos;import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Color;
class Pantalla extends Frame {
public Pantalla() {
this.setSize(200,150 );
this.setVisible( true );
}
public void paint(Graphics g) {
g.setColor(Color.Blue);
g.drawLine(50, 50, 100, 100);
}
public static void main( String[] args ) {
Pantalla p = new Pantalla();
}
}
Para dibujar un circulo utilizaremos el siguiente código
import java.awt.*; import java.awt.event.*; class Circulos extends Frame implements ActionListener { static public void main(String[]args){ new Circulos().show(); } //componentes private Button circulo=new Button("dibujar círculo"), quit=new Button("quit"); //tela de dibujo private Canvas cv=new Canvas(); private final int W=300,H=300;//ancho y alto //constructor public Circulos() { //diagramar ventana setSize(W,H+2*25);//25 pixeles por borde setLayout(new BorderLayout()); //agregar componentes add("North",circulo); add("South",quit); cv.setSize(W,H); //tamaño de la tela add("Center",cv); //activar escuchador circulo.addActionListener(this); quit.addActionListener(this); } //dibujar Circulo public void actionPerformed(ActionEvent x){ if(x.getSource()==quit) System.exit(0); //coordenadas del centro del circulo int h=U.azar(0,W-1), v=U.azar(0,H-1); //diámetro y radio int d=U.azar(0,Math.min(W,H)-1), r=d/2; //obtener objeto de clase Graphics Graphics g=cv.getGraphics(); //establecer color (convención RGB) g.setColor(new Color(U.azar(0,255), //rojo U.azar(0,255), //verde U.azar(0,255)));//azul
Para dibujar un rectángulo usaremos el código siguiente
Para dibujar un rectángulo en pantalla, basta con llamar al método drawRect() indicando la posición en que deseamos colocar la esquina superior-izquierda del rectángulo y su ancho y alto. Por ejemplo, el código siguiente, Rect1.java, pinta un rectángulo alrededor del applet que lo contiene:import java.awt.*; import java.applet.Applet; public class Rect1 extends Applet { int ancho,alto; public void init() { Dimension d = size(); // devuelve el tamaño del applet ancho = d.width; alto = d.height; repaint(); } public void paint( Graphics g ) { g.drawRect( 0,0,ancho-1,alto-1 ); } }El método drawRect() pinta un rectángulo abierto, si queremos un rectángulo relleno, tendremos que invocar al método fillRect(), que tiene idéntica sintaxis. El código siguiente, Rect2.java, pinta un rectángulo relleno en el centro del applet que lo contiene:import java.awt.*; import java.applet.Applet; public class Rect2 extends Applet { int apAncho; int apAlto; int x,y,ancho,alto; public void init() { Dimension d = size(); apAncho = d.width; apAlto = d.height; ancho = apAncho/3; alto = apAlto/3; x = (apAncho - ancho)/2; y = (apAlto - alto)/2; repaint(); } public void paint( Graphics g ) { g.drawRect( 0,0,apAncho-1,apAlto-1 ); g.fillRect( x,y,ancho-1,alto-1 ); } }Para dibujar una curva haremos lo siguiente
Eljava.awt.geom
paquete que permite crear un segmento de curva cuadrática o cúbica.Segmento de curva cuadrática
ElQuadCurve2D
clase implementa laforma de
interfaz. Esta clase representa un segmento de curva paramétrica cuadrática en (x, y) el espacio de coordenadas. LosQuadCurve2D.Float
yQuadCurve2D.Double
subclases especificar una curva cuadrática en flotador y doble precisión.VariossetCurve
métodos se utilizan para especificar dos puntos extremos y un punto de la curva, cuyas coordenadas se puede definir directamente, por las coordenadas de otros puntos y mediante el uso de una matriz dada control. Un método muy útil,setCurve
(QuadCurve2D), establece el cuadrática la curva con los mismos puntos finales y el punto de control como una curva que se suministra. Por ejemplo:// Crear nueva QuadCurve2D.Float QuadCurve2D q = new QuadCurve2D.Float (); // Dibujar QuadCurve2D.Float con coordenadas set q.setCurve (x1, y1, ctrlx, ctrly, x2, y2); g2.draw (q);Segmento de curva cúbica
ElCubicCurve2D
clase también implementa laforma de
interfaz. Esta clase representa un segmento de curva paramétrica cúbico en (x, y) el espacio de coordenadas.CubicCurve2D.Float
yCubicCurve2D.Double
subclases especificar una curva cúbica en flotador y de doble precisión.ElCubicCurve2D
clase tiene métodos similares para establecer la curva como elQuadraticCurve2D
clase, excepto con un segundo punto de control. Por ejemplo:// Crear nueva CubicCurve2D.Double CubicCurve2D c = new CubicCurve2D.Double (); // Dibujar CubicCurve2D.Double con coordenadas set c.setCurve (x1, y1, ctrlx1, ctrly1, ctrlx2, ctrly2, x2, y2); g2.draw (c);