各组件都有:
Component.setCursor(java.awt.Cursor)
这个方法用于显示光标形状具体的查Cursor类例如:
 setCursor(new Cursor(Cursor.DEFAULT_CURSOR));  默认光标(箭头)
 setCursor(new Cursor(Cursor.HAND_CURSOR));     手型光标

解决方案 »

  1.   

    组件.setCursor(new Cursor(形态));形态:Cursor.CROSSHAIR_CURSOR 十字星Cursor.MOVE_CURSOR 十字箭头移动Cursor.DEFAULT_CURSOR 默认的形态Cursor.E_RESIZE_CURSOR 向两边移动的箭头
    Cursor.W_RESIZE_CURSOR 向两边移动的箭头Cursor.N_RESIZE_CURSOR 向上下移动的箭头
    Cursor.S_RESIZE_CURSOR 向上下移动的箭头Cursor.NE_RESIZE_CURSOR 右上左下的移动箭头
    Cursor.SW_RESIZE_CURSOR 右上左下的移动箭头Cursor.NW_RESIZE_CURSOR 左上右下的移动箭头
    Cursor.SE_RESIZE_CURSOR 左上右下的移动箭头Cursor.HAND_CURSOR 手的形态Cursor.TEXT_CURSOR 文本输入形态Cursor.WAIT_CURSOR 等待形态
      

  2.   

    所谓的"取消"操作,是一定要记录所做的所有工作的,我也做过一个画图程序,其中的"取消"操作是这样实现的.
    定义一个 LinkedList shapes; 每画一个图形就将其add到shapes中,取消时,将shapes中最后一个remove了然后重画一下窗口就行了.你试试!