JComponent () { JPanel panel = new JPanel(new GridBagLayout()); GridBagConstraints gc = new GridBagConstraints(); gc.insets = JBUI.insets(2); gc.gridwidth = 1; gc.gridheight = 1; gc.gridx = 0; gc.gridy = 0; gc.anchor = GridBagConstraints.WEST; gc.fill = GridBagConstraints.NONE; gc.weightx = 0; gc.weighty = 0; panel.add(new JBLabel(message("label.export")), gc); gc.gridx += 1; gc.gridwidth = 2; gc.weightx = 1; gc.fill = GridBagConstraints.HORIZONTAL; JBLabel urlLabel = new JBLabel(myURL.toDecodedString()); urlLabel.setFont(urlLabel.getFont().deriveFont(Font.BOLD)); panel.add(urlLabel, gc); gc.gridy += 1; gc.gridwidth = 1; gc.gridx = 0; gc.weightx = 0; gc.fill = GridBagConstraints.NONE; panel.add(new JBLabel(message("label.destination")), gc); gc.gridx += 1; gc.gridwidth = 2; gc.weightx = 1; gc.fill = GridBagConstraints.HORIZONTAL; myPathField = new TextFieldWithBrowseButton(this); myPathField.setText(myFile.getAbsolutePath()); myPathField.setEditable(false); panel.add(myPathField, gc); gc.gridy += 1; gc.gridx = 0; gc.weightx = 0; gc.gridwidth = 3; gc.fill = GridBagConstraints.NONE; // other options. final JBLabel depthLabel = new JBLabel(message("label.depth.text")); depthLabel.setToolTipText(message("label.depth.description")); panel.add(depthLabel, gc); ++gc.gridx; myDepth = new DepthCombo(false); panel.add(myDepth, gc); depthLabel.setLabelFor(myDepth); gc.gridx = 0; gc.gridy += 1; myForceCheckbox = new JBCheckBox(message("checkbox.replace.existing.files")); myForceCheckbox.setSelected(true); panel.add(myForceCheckbox, gc); gc.gridy += 1; myExternalsCheckbox = new JBCheckBox(message("checkbox.include.externals.locations")); myExternalsCheckbox.setSelected(true); panel.add(myExternalsCheckbox, gc); gc.gridy += 1; gc.gridwidth = 2; panel.add(new JBLabel(message("label.override.native.eols.with")), gc); gc.gridx += 2; gc.gridwidth = 1; panel.add(createLineSeparatorComboBox(), gc); gc.gridy += 1; gc.gridwidth = 3; gc.gridx = 0; gc.weightx = 1; gc.weighty = 1; gc.anchor = GridBagConstraints.SOUTH; gc.fill = GridBagConstraints.HORIZONTAL; panel.add(new JSeparator(), gc); return panel; }