/** * Purpose: Create the controls that adorn the top of the file browser content area and which * control the playback parameters and provides a save button for file selections * * @return */ private Component createFileSelectionHeader() { JPanel headerControls = new JPanel(); JPanel playbackPanel = Gui.GBPanel(headerControls, null, "Multi-Selection Playback Controls"); // add random/in order toggle final String RandomCommand = "Random"; browserController.setPlayRandomly(true); ButtonGroup randomOrderGroup = new ButtonGroup(); ActionListener randomListener = new ActionListener() { public void actionPerformed(ActionEvent ae) { browserController.setPlayRandomly(ae.getActionCommand().equals(RandomCommand)); } }; Gui.addRadioButton( playbackPanel, "In Order", false, randomOrderGroup, "Ordered", randomListener); Gui.addRadioButton( playbackPanel, "Random Order", true, randomOrderGroup, RandomCommand, randomListener); // add speed control browserController.setRotationSpeed(2000); final JSlider speedSlider = Gui.createSlider(250, 0, 10000, Boolean.TRUE, Boolean.TRUE); speedSlider.setValue(browserController.getRotationSpeed()); speedSlider.addChangeListener( new ChangeListener() { public void stateChanged(ChangeEvent ce) { browserController.setRotationSpeed(speedSlider.getValue()); } }); Gui.addBoxSpace(playbackPanel, 30, 55); playbackPanel.add(new JLabel("No Delay")); playbackPanel.add(speedSlider); playbackPanel.add(new JLabel("10s Delay")); // add "replay" button Gui.addBoxSpace(playbackPanel, 40, 50); Gui.addButton( playbackPanel, "Start Over", null, new ActionListener() { public void actionPerformed(ActionEvent ae) { browserController.replaySelectedFiles(); } }); // a spacer, then our save controls Gui.addBoxSpace(headerControls, 35, 65); Gui.addButton( headerControls, "Save", null, new ActionListener() { public void actionPerformed(ActionEvent ae) { JFileChooser chooser = new JFileChooser(); // chooser.setCurrentDirectory(new // java.io.File(serverPathLabel.getText())); chooser.setDialogTitle("Select Folder to Save to...."); chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); chooser.setAcceptAllFileFilterUsed(false); int result = chooser.showDialog(_ref, "Ok"); if (result == JFileChooser.APPROVE_OPTION) { File selectedFile = chooser.getSelectedFile(); browserController.saveSelectedFiles(selectedFile.getAbsolutePath().toString()); } } }); return headerControls; }