In reply to your comment
"It's not enough because you don't call RefontTree again after destroing the HList. ItemStyle has a font option, make $font global and use it to set the font when the HList is recreated (-font => $font). "
While seleceting the fonts from the FontDialog, I was also printing the $font and its descripttive name. For example for 'courier 10 pinch' and font size 5 , the $font which we pass to -font is coming as font30.
I created a global variable at the top of my program as $font and assigned font30 to it. Then using that $font to RefontTree for $mw and $hlistframe. Even after destroying the hlistframes i am calling the RefontTree on $hlistframe and passing $font to -font. But it does not seem to be taking that font while the gui is launched.
Can you please show me a working example.