554
Capítulo 12 Gráfi cos y Java 2D™
12.5 Dibujo de líneas, rectángulos y óvalos
En esta sección presentaremos varios métodos de
Graphics
para dibujar líneas, rectángulos y óvalos. Los métodos
y sus parámetros se sintetizan en la fi gura 12.17. Para cada método de dibujo que requiere un parámetro
anchura
y
otro
altura
, sus valores deben ser números no negativos. De lo contrario, no se mostrará la fi gura.
1
// Fig. 12.16: Metrica.java
2
// Muestra la métrica de los tipos de letra.
3
import
javax.swing.JFrame;
4
5
public class
Metrica
6
{
7
// ejecuta la aplicación
8
public static void
main( String args[] )
9
{
10
// crea marco para objeto MetricaJPanel
11
JFrame marco =
new
JFrame(
“Demostracion de FontMetrics”
);
12
marco.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE
);
13
14
MetricaJPanel metricaJPanel =
new
MetricaJPanel();
15
marco.add( metricaJPanel );
// agrega metricaJPanel al marco
16
marco.setSize(
530
,
250
);
// establece el tamaño del marco
17
marco.setVisible(
true
);
// muestra el marco
18
}
// fin de main
19
}
// fin de la clase Metrica
Figura 12.16
| Creación de un objeto
JFrame
para mostrar información sobre la métrica de los tipos de letra.
Figura 12.17
| Métodos de
Graphics
para dibujar líneas, rectángulos y óvalos. (Parte 1 de 2).
Método
Descripción
public void drawLine( int x1, int y1, int x2, int y2 )
Dibuja una línea entre el punto (
x1
,
y1
) y el punto (
x2
,
y2
).
public void drawRect( int x, int y, int anchura, int altura )
Dibuja un rectángulo con la
anchura
y altura especifi cadas. La esquina superior
izquierda del rectángulo tiene las coordenadas (
x
,
y
). Sólo el contorno del rectángulo
se dibuja usando el color del objeto
Graphics
; el cuerpo del rectángulo no se rellena
con este color.
public void fillRect( int x, int y, int anchura, int altura )
Dibuja un rectángulo relleno con la
anchura
y
altura
especifi cadas. La esquina supe-
rior izquierda del rectángulo tiene las coordenadas (
x
,
y
). El rectángulo se rellena con
el color del objeto
Graphics
.
12_MAQ_CAP_12_DEITEL.indd554
4/19/081:26:58AM