question: public void initInfoWidgets ( ) { Debug . message ( "info" , "InformationDelegator.initInfoWidgets" ) ; GridBagLayout gridbag = new GridBagLayout ( ) ; GridBagConstraints c = new GridBagConstraints ( ) ; setFont ( new Font ( "Helvetica" , Font . PLAIN , 9 ) ) ; setLayout ( gridbag ) ; progressBar = new JProgressBar ( ) ; gridbag . setConstraints ( progressBar , c ) ; add ( progressBar ) ; progressBar . setVisible ( false ) ; JPanel infoLinePanel = new JPanel ( ) ; c . weightx = 1 ; c . anchor = GridBagConstraints . WEST ; c . fill = GridBagConstraints . HORIZONTAL ; gridbag . setConstraints ( infoLinePanel , c ) ; GridBagLayout gridbag2 = new GridBagLayout ( ) ; GridBagConstraints c2 = new GridBagConstraints ( ) ; infoLinePanel . setLayout ( gridbag2 ) ; infoLineHolder = new JLabel ( fudgeString ) ; c2 . weightx = .9 ; c2 . fill = GridBagConstraints . HORIZONTAL ; c2 . anchor = GridBagConstraints . WEST ; c2 . insets = new Insets ( 3 , 10 , 3 , 10 ) ; gridbag2 . setConstraints ( infoLineHolder , c2 ) ; infoLinePanel . add ( infoLineHolder ) ; infoLineHolder2 = new JLabel ( fudgeString , SwingConstants . RIGHT ) ; c2 . weightx = .1 ; c2 . anchor = GridBagConstraints . EAST ; gridbag2 . setConstraints ( infoLineHolder2 , c2 ) ; infoLinePanel . add ( infoLineHolder2 ) ; addInfoLine ( COORDINATE_INFO_LINE , infoLineHolder ) ; addInfoLine ( MAP_OBJECT_INFO_LINE , infoLineHolder2 ) ; add ( infoLinePanel ) ; c . weightx = 0 ; c . anchor = GridBagConstraints . EAST ; statusBar = new StatusLightPanel ( ) ; gridbag . setConstraints ( statusBar , c ) ; add ( statusBar ) ; statusBar . setVisible ( showLights ) ; }
target:  If you want to subclass the InformationDelegator and have it handle messages differently, you can override this method to set the widgets you want.