Пример #1
0
  public ImportFileDialog(final String defaultValue, final DialogBuilder dialogBuilder) {
    setLayout(new GridBagLayout());

    _importDir = defaultValue;

    final GridBagConstraints c = new GridBagConstraints();
    c.gridy = 1;
    c.insets = new Insets(5, 5, 5, 5);
    c.anchor = GridBagConstraints.NORTHWEST;

    _dialogBuilder = dialogBuilder;

    final Component label = new JLabel("Import BugCollection from: ");

    c.weightx = 0;
    c.gridwidth = 2;
    add(label, c);
    _importFile = new JTextField("");
    _importFile.setEditable(false);
    _importFile.setPreferredSize(new Dimension(200, 20));
    c.weightx = 1;
    c.gridwidth = 1;
    add(_importFile, c);

    final AbstractButton browseButton = new JButton("Browse");
    browseButton.addActionListener(new MyFileChooserActionListener());
    c.weightx = 0;
    add(browseButton, c);

    c.gridx = GridBagConstraints.RELATIVE;
    c.gridy = 2;
    c.gridheight = 2;

    dialogBuilder.setCenterPanel(this);

    _importFile.getDocument().addDocumentListener(new MyDocumentAdapter());
    if (!_importFile.getText().isEmpty()) {
      _selectedFile = new File(_importFile.getText());
    }
    _importFile.addHierarchyListener(
        new HierarchyListener() {
          public void hierarchyChanged(final HierarchyEvent e) {
            if (_importFile.isVisible()) {
              _dialogBuilder.setOkActionEnabled(validateFile(_importFile.getDocument()));
            }
          }
        });
    _dialogBuilder.setOkActionEnabled(_selectedFile != null && _selectedFile.isDirectory());
  }