package com.cipres.mrBayesPlugin.ui; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFileChooser; import javax.swing.JPanel; import com.biomatters.geneious.publicapi.components.Dialogs; import com.biomatters.geneious.publicapi.components.Dialogs.DialogOptions; import com.biomatters.geneious.publicapi.components.Dialogs.DialogAction; /** * * @author mgujral * This class provides JFiileChooser for user to select the * download folder. * */ public class FolderChooser { private static final long serialVersionUID = 1L; private JFileChooser chooser = new JFileChooser(); private String folderName; private JPanel jpnl = new JPanel(); public FolderChooser() { System.out.println("Inside FolderChooser"); } /** * * @return the panel that contains file chooser */ public JPanel process() { jpnl.add(BorderLayout.CENTER, chooser); chooser.setEnabled(true); chooser.setFileHidingEnabled(false); System.out.println("Great..."); chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); ActionListener actionListener = new ActionListener() { public void actionPerformed(ActionEvent actionEvent) { chooser = (JFileChooser) actionEvent.getSource(); String command = actionEvent.getActionCommand(); chooser.setDialogTitle("Choose Target Directory."); System.out.println("COMMAND: " + command); if (command.equals(JFileChooser.APPROVE_SELECTION)) { String dir = chooser.getSelectedFile().getAbsolutePath(); System.out.println("Selected folder: " + dir); folderName = dir; }else if (command.equals(JFileChooser.CANCEL_SELECTION)) { folderName = null; System.out.println("Cancelled"); } } }; chooser.addActionListener(actionListener); return jpnl; } /** * * @return the selected folder where files will be down loaded */ public String getSelectdFolder(){ return folderName; } public static void main(String[] args){ System.out.println("In main method"); DialogOptions dialogOptions = new DialogOptions(Dialogs.YES_NO, "Open"); //dialogOptions.setDefaultButton("Open"); Dialogs.showDialog(dialogOptions, " ",new FolderChooser().process()); } }