现象:
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 ); } } |
闽公网安备 35060202000074号