coordenada horizontal
) y una
coordenada y
(la
coordenada vertical
). La coordenada
x es la ubicación horizon-
tal que se desplaza de izquierda a derecha. La coordenada
y es la ubicación vertical que se desplaza de arriba hacia
abajo. El
ejex
describe cada una de las coordenadas horizontales, y el
ejey
describe cada una de las coordenadas
verticales.
Las coordenadas indican en dónde deben mostrarse los gráfi cos en una pantalla. Las unidades de las coorde-
nadas se miden en
píxeles
. Un píxel es la unidad de resolución más pequeña de una pantalla. (El término píxel
signifi ca “elemento de imagen”).
Nuestra primera aplicación de dibujo simplemente dibuja dos líneas. La clase
PanelDibujo
(fi gura 4.19)
realiza el dibujo en sí, mientras que la clase
PruebaPanelDibujo
(fi gura 4.20) crea una ventana para mostrar
el dibujo. En la clase
PanelDibujo
, las instrucciones
import
de las líneas 3 y 4 nos permiten utilizar la clase
Graphics
(del paquete
java.awt
), que proporciona varios métodos para dibujar texto y fi guras en la pantalla, y
la clase
JPanel
(del paquete
javax.swing
), que proporciona un área en la que podemos dibujar.
La línea 6 utiliza la palabra clave
extends
para indicar que la clase
PanelDibujo
es un tipo mejorado de
JPanel
. La palabra clave
extends
representa algo que se denomina relación de herencia, en la cual nuestra nueva
clase
PanelDibujo
empieza con los miembros existentes (datos y métodos) de la clase
JPanel
. La clase de la cual
(0, 0)
(x, y)
+y
+x
ejey
ejex
Figura 4.18
| Sistema de coordenadas de Java. Las unidades se miden en píxeles.
1
// Fig. 4.19: PanelDibujo.java
2
// Uso de drawLine para conectar las esquinas de un panel.
3
import
java.awt.Graphics;
4
import
javax.swing.JPanel;
5
6
public class
PanelDibujo
extends
JPanel
7
{
8
// dibuja una x desde las esquinas del panel
9
public void
paintComponent( Graphics g )
10
{
11
// llama a paintComponent para asegurar que el panel se muestre correctamente
12
super
.paintComponent( g );
13
14
int
anchura = getWidth();
// anchura total
15
int
altura = getHeight();
// altura total
16
17
// dibuja una línea de la esquina superior izquierda a la esquina inferior derecha
18
g.drawLine(
0
,
0
, anchura, altura );
19
20
// dibuja una línea de la esquina inferior izquierda a la esquina superior derecha
21
g.drawLine(
0
, altura, anchura,
0
);
22
}
// fin del método paintComponent
23
}
// fin de la clase PanelDibujo
Figura 4.19
| Uso de
drawLine
para conectar las esquinas de un panel.
4.14 (Opcional) Ejemplo práctico de GUI y gráfi cos: creación de dibujos simples
143
04_MAQ_CAP_04.indd143
4/19/081:20:48AM