/* ĠCopyright Ġ( c ) Ġ 2 0 2 0 ĠDe fl ated Pick le Ġunder Ġthe ĠMIT Ġlicense Ġ*/ Ċ Ċ package Ġcom . def lated pickle . tos uto . action Ċ Ċ import Ġjava . awt . event . Mouse Adapter Ċ import Ġjava . awt . event . MouseEvent Ċ import Ġjavax . swing . Icon Ċ import Ġjavax . swing . J MenuItem Ċ import Ġjavax . swing . J PopupMenu Ċ import Ġjavax . swing . Swing Constants Ċ import Ġjavax . swing . UI Manager Ċ Ċ class ĠToast Multi Action Ġ@ Jvm Over loads Ġconstructor ( ĊĠĠĠ Ġtext : ĠString , ĊĠĠĠ Ġicon : ĠIcon ? Ġ= ĠUI Manager . get Icon (" Table . desc ending Sort Icon "), ĊĠĠĠ Ġactions : ĠList < J MenuItem > Ċ ) Ġ: ĠToast Action ( text , Ġicon ) Ġ{ ĊĠĠĠ Ġval Ġmenu Ġ= ĠJ PopupMenu (). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġactions ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( i ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . horizontal Text Position Ġ= ĠSw ing Constants . LEFT ĊĊĠĠĠĠĠĠĠ Ġadd Mouse Listener ( object Ġ: ĠMouse Adapter () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmouse Clicked ( e : ĠMouseEvent ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Toast Multi Action . menu . show ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Toast Multi Action , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . component . x Ġ- Ġe . component . width , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . component . y Ġ+ Ġe . component . height ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ