不太清楚,你可以试这在按下去的时候控制按纽状态.

解决方案 »

  1.   

    void this_mouseEntered(MouseEvent e) {
        if(isEnabled()){
          setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
          setBorder(BorderFactory.createRaisedBevelBorder());
        }
      }/**
    * @description
    * 鼠标按下
    * @param e
    * 修改描述 无
    */
      void this_mousePressed(MouseEvent e) {
        if(isEnabled())
          setBorder(BorderFactory.createLoweredBevelBorder());
      }/**
    * @description
    * 鼠标离开按钮
    * @param e
    * 修改描述 无
    */
      void this_mouseExited(MouseEvent e) {
        if(isEnabled()){
          setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
          setBorder(BorderFactory.createEtchedBorder());
        }
      }/**
    * @description
    * 鼠标按钮放开
    * @param e
    * 修改描述 无
    */
      void this_mouseReleased(MouseEvent e) {
        if(isEnabled())
          setBorder(BorderFactory.createRaisedBevelBorder());
      }/**
    * @description
    * 按钮失去焦点
    * @param e
    * 修改描述 无
    */
      void this_focusLost(FocusEvent e) {
        setBorder(BorderFactory.createEtchedBorder());
      }/**
    * @description
    * 按钮得到焦点
    * @param e
    * 修改描述 无
    */
      void this_focusGained(FocusEvent e) {
        setBorder(BorderFactory.createEtchedBorder());
      }/**
    * @description
    * 按钮状态改变
    * @param e
    * 修改描述 无
    */
      void this_stateChanged(ChangeEvent e) {
        if(!this.isEnabled())
           setBorder(BorderFactory.createEtchedBorder());  }