E ae galera, blz? 
To resolvendo o exercício 12.16 aki dos Deitel 4th ed.
Consiste em criar um prog q de acordo com a tecla q vc digitar, desenha uma forma geométrica diferente, jah implementei o q era necessário mas não consigo q nenhum resultado saia na tela, nenhuma forma eh desenhada…
segue código:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Drawer extends JFrame {
private int xIni = - 10, yIni = -10, xFin, yFin;
private char what = 'c';
private Handler handler;
public Drawer()
{
super ( "Drawer?" );
handler = new Handler();
addMouseListener ( handler );
addKeyListener (
new KeyAdapter() {
public void keyPressed ( KeyEvent event )
{
if ( event.getKeyCode() == 'c' )
what = 'c';
else if ( event.getKeyCode() == 'o' )
what = 'o';
else if ( event.getKeyCode() == 'r' )
what = 'r';
else if ( event.getKeyCode() == 'l' )
what = 'l';
}
}
);
setSize ( 300, 300 );
setVisible ( true );
}
public void paint ( Graphics g )
{
switch ( what ) {
case 'c' : g.drawOval ( xIni, yIni, handler.width,
handler.width ); break;
case 'o' : g.drawOval ( xIni, yIni, handler.heigth,
handler.width ); break;
case 'r' : g.drawRect ( xIni, yIni, handler.heigth,
handler.width ); break;
case 'l' : g.drawLine ( xIni, yIni, handler.heigth,
handler.width );
}
}
public static void main ( String[] args )
{
Drawer app = new Drawer();
app.setDefaultCloseOperation ( JFrame.EXIT_ON_CLOSE );
}
private class Handler extends MouseAdapter {
private int tempX, tempY;
public int heigth = -10, width = -10;
public void mousePressed ( MouseEvent event )
{
xIni = event.getX();
yIni = event.getY();
checker();
}
public void mouseReleased ( MouseEvent event )
{
xFin = event.getX();
yFin = event.getY();
checker();
}
public void checker()
{
if ( xIni > xFin ) {
tempX = xIni;
xIni = xFin;
xFin = tempX;
}
if ( yIni > yFin ) {
tempY = yIni;
yIni = yFin;
yFin = tempY;
}
}
public void setHeigth()
{
heigth = ( yFin - yIni );
}
public void setWidth()
{
width = ( xFin - xIni );
}
}
}
Alguém conseguiu enxergar meu erro ae?
[]'s
