docs: @Override
    public void actionPerformed(ActionEvent e) {
      // Use a new JFileChooser. Inconsistent behaviour otherwise!
      final JFileChooser fc = new JFileChooser(new File("."));
      if(param.isDefined()) {
        fc.setSelectedFile(param.getValue());
      }
  
      if(e.getSource() == button) {
        int returnVal = fc.showOpenDialog(button);
        if(returnVal == JFileChooser.APPROVE_OPTION) {
          textfield.setText(fc.getSelectedFile().getPath());
          fireValueChanged();
        }
        // else: do nothing on cancel.
      }
      else if(e.getSource() == textfield) {
        fireValueChanged();
      }
      else {
        LoggingUtil.warning("actionPerformed triggered by unknown source: " + e.getSource());
      }
    }