{
return directoryChooserPanel.allowHotkeys ();
}
} );
final WebPanel buttonsPanel = new WebPanel ();
buttonsPanel.setMargin ( 0, 3, 3, 3 );
buttonsPanel.setLayout ( new BorderLayout ( 0, 0 ) );
getContentPane ().add ( buttonsPanel, BorderLayout.SOUTH );
approveButton = new WebButton ( "", OK_ICON );
approveButton.setLanguage ( "weblaf.ex.dirchooser.choose" );
approveButton.addHotkey ( WebDirectoryChooser.this, Hotkey.CTRL_ENTER );
approveButton.setRolloverShine ( StyleConstants.highlightControlButtons );
approveButton.setShineColor ( StyleConstants.greenHighlight );
approveButton.setEnabled ( false );
approveButton.addActionListener ( new ActionListener ()
{
@Override
public void actionPerformed ( final ActionEvent e )
{
result = OK_OPTION;
WebDirectoryChooser.this.dispose ();
}
} );
cancelButton = new WebButton ( "", CANCEL_ICON );
cancelButton.setLanguage ( "weblaf.ex.dirchooser.cancel" );
cancelButton.addHotkey ( WebDirectoryChooser.this, Hotkey.ESCAPE );
cancelButton.setRolloverShine ( StyleConstants.highlightControlButtons );
cancelButton.setShineColor ( StyleConstants.redHighlight );
cancelButton.addActionListener ( new ActionListener ()
{
@Override
public void actionPerformed ( final ActionEvent e )
{
result = CANCEL_OPTION;
WebDirectoryChooser.this.dispose ();
}
} );
buttonsPanel.add ( new GroupPanel ( 4, approveButton, cancelButton ), BorderLayout.LINE_END );
// For proper equal sizing of control buttons
SwingUtils.equalizeComponentsSize ( approveButton, cancelButton );
final PropertyChangeListener pcl = new PropertyChangeListener ()
{
@Override
public void propertyChange ( final PropertyChangeEvent evt )
{
approveButton.setPreferredSize ( null );
cancelButton.setPreferredSize ( null );
SwingUtils.equalizeComponentsSize ( approveButton, cancelButton );
buttonsPanel.revalidate ();
}
};
approveButton.addPropertyChangeListener ( AbstractButton.TEXT_CHANGED_PROPERTY, pcl );
cancelButton.addPropertyChangeListener ( AbstractButton.TEXT_CHANGED_PROPERTY, pcl );