服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

具有不同显示风格的jbutton

现象:

  jbutton类按钮的一种扩展,当鼠标移入、移出、被点击时有不同的外观

  解决方案:

import javax.swing.*;
import javax.swing.border.*;
import java.awt.event.*;
import java.awt.*;
/** * title: * description: * copyright: * company: * @author * @version 1.0 */
/** * jbutton类按钮的一种扩展,当鼠标移入、移出、被点击时有不同的外观 */
public class zbutton extends jbutton
{
 private border borderout;
 private border borderin;
 private border borderpressed;
 public zbutton() { init(); } /**初始化*/
 private void init()
 {
  borderout = borderfactory.createemptyborder();//(2,2,2,2);
  borderin = borderfactory.createbevelborder(bevelborder.raised,color.white,color.white, new color(148, 145, 140),new color(103, 101, 98));
  borderpressed = borderfactory.createbevelborder(bevelborder.lowered,color.white,color.white, new color(148, 145, 140),new color(103, 101, 98));
  this.setborder( borderout );
  this.addmouselistener(new java.awt.event.mouseadapter()
  {
   public void mouseentered(mouseevent e)
   {
    thisbutton_mouseentered(e);
   }
   public void mouseexited(mouseevent e)
   {
    thisbutton_mouseexited(e);
    }
   public void mousepressed(mouseevent e)
   {
    thisbutton_mousepressed(e);
   }
   public void mousereleased(mouseevent e)
   {
    thisbutton_mousereleased(e);
   }
   });
 }
 /**鼠标移入时的外观*/
 void thisbutton_mouseentered(mouseevent e)
 {
  if( this.isenabled() ) this.setborder( borderin ); }
  /**鼠标移出时的外观*/
  void thisbutton_mouseexited(mouseevent e)
  {
   this.setborder( borderout );
  }
  /**鼠标被点击时的外观*/
  void thisbutton_mousepressed(mouseevent e)
  {
   if( this.isenabled()) this.setborder( borderpressed );
  }
  /**鼠标被释放时的外观*/
  void thisbutton_mousereleased(mouseevent e)
  {
   if( (this.getbounds().contains(e.getx(), e.gety())) && this.isenabled() )
    this.setborder( borderin ); else this.setborder( borderout ); }
  }

扫描关注微信公众号