/* ĠCopyright Ġ( c ) Ġ 2 0 2 0 ĠDe fl ated Pick le Ġunder Ġthe ĠMIT Ġlicense Ġ*/ Ċ Ċ package Ġcom . def lated pickle . quiv er . frontend . widget Ċ Ċ import Ġcom . def lated pickle . raw ky . ui . constraints . Fill Horizontal Ċ import Ġcom . def lated pickle . raw ky . ui . constraints . Finish Line Ċ import Ġjava . awt . Grid BagLayout Ċ import Ġjavax . swing . text . Document Filter Ċ import Ġjavax . swing . text . Plain Document Ċ import Ġorg . j desktop . swing x . JX Button Ċ import Ġorg . j desktop . swing x . JX Panel Ċ import Ġorg . j desktop . swing x . JX TextField Ċ Ċ class ĠButton Field ( ĊĠĠĠ Ġprompt : ĠString , ĊĠĠĠ Ġtooltip : ĠString , ĊĠĠĠ Ġfilter : ĠDocument Filter , ĊĠĠĠ Ġaction String : ĠString , ĊĠĠĠ Ġaction : Ġ( Button Field ) Ġ-> ĠUnit Ċ ) Ġ: ĠJ X Panel () Ġ{ ĊĠĠĠ Ġval Ġfield Ġ= ĠJ X TextField ( prompt ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġtool Tip Text Ġ= Ġtooltip ĊĠĠĠĠĠĠĠ Ġ( document Ġas ĠPlain Document ). document Filter Ġ= Ġfilter ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġbutton Ġ= ĠJ X Button ( action String ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġadd ActionListener Ġ{ Ġaction ( this @ Button Field ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . is Opaque Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġthis . layout Ġ= ĠGrid BagLayout () ĊĊĠĠĠĠĠĠĠ Ġadd ( this . field , ĠFill Horizontal ) ĊĠĠĠĠĠĠĠ Ġadd ( this . button , ĠFinish Line ) ĊĠĠĠ Ġ} Ċ } Ċ