// ĠCopyright Ġ 2 0 0 0 - 2 0 2 0 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ package Ġcom . intellij . ui . components Ċ Ċ import Ġcom . intellij . openapi . action System . ActionButton Component Ċ import Ġcom . intellij . openapi . action System . ex . ActionButton Look Ċ import Ġjava . awt . Graphics Ċ import Ġjava . awt . event . Mouse Adapter Ċ import Ġjava . awt . event . MouseEvent Ċ import Ġjavax . swing . Icon Ċ import Ġjavax . swing . J Component Ċ import Ġjavax . swing . Swing Utilities Ċ Ċ class ĠIcon Label Button ( icon : ĠIcon , ĠonClick Handler : Ġ( J Component ) Ġ-> ĠUnit ): ĠJ B Label ( icon ) Ġ{ ĊĠ Ġprivate Ġvar Ġhover ed Ġ= Ġfalse ĊĠ Ġprivate Ġval Ġlb Ġ= Ġthis ĊĊĠ Ġinit Ġ{ ĊĠĠĠ Ġadd Mouse Listener ( object Ġ: ĠMouse Adapter () Ġ{ ĊĠĠĠĠĠ Ġoverride Ġfun Ġmouse Clicked ( e : ĠMouseEvent ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Swing Utilities . is Left MouseButton ( e )) Ġ{ ĊĠĠĠĠĠĠĠĠĠ ĠonClick Handler ( this @ Icon Label Button ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġoverride Ġfun Ġmouse Entered ( e : ĠMouseEvent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġhover ed Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġlb . rep aint () ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġoverride Ġfun Ġmouse Exit ed ( e : ĠMouseEvent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġhover ed Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġlb . rep aint () ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġpaint Component ( g : ĠGraphics ?) Ġ{ ĊĠĠĠ Ġif Ġ( hover ed ) ĊĠĠĠĠĠ ĠAction Button Look . SYSTEM _ LOOK . paint Background ( g , Ġlb , ĠAction Button Component . SELECTED ) ĊĠĠĠ Ġsuper . paint Component ( g ) ĊĠ Ġ} Ċ }