Mercurial > repos > yufei-luo > s_mart
annotate smart_toolShed/SMART/Java/Installer/SmartInstaller.java @ 0:e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
| author | yufei-luo | 
|---|---|
| date | Thu, 17 Jan 2013 10:52:14 -0500 | 
| parents | |
| children | 
| rev | line source | 
|---|---|
| 0 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 1 import java.util.*; | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 2 import java.awt.*; | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 3 import java.awt.event.ActionEvent; | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 4 import java.awt.event.ActionListener; | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 5 import java.io.*; | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 6 import javax.swing.*; | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 7 import javax.swing.filechooser.*; | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 8 import javax.swing.border.*; | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 9 import javax.swing.SwingUtilities; | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 10 import java.net.*; | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 11 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 12 public class SmartInstaller extends JPanel implements ActionListener { | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 13 int BUFFER = 1024; | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 14 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 15 JFrame mainFrame; | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 16 JTextArea logArea; | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 17 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 18 // configuration chooser buttons | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 19 String configurations[] = {"32 bits", "64 bits"}; | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 20 JRadioButton configurationButtons[]; | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 21 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 22 // program chooser buttons | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 23 String programChoosers[] = {"R", "R Color Brewer Package", "R HMisc Package", "Python 2.6", "S-MART"}; | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 24 JCheckBox programChooserButtons[]; | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 25 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 26 JButton goButton; | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 27 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 28 // install directory | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 29 JButton installDirectoryChooserButton; | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 30 JTextField installDirectoryChooserTextField; | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 31 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 32 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 33 public SmartInstaller() { | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 34 super(); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 35 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 36 Box box = Box.createVerticalBox(); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 37 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 38 // Header | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 39 JPanel headerPanel = new JPanel(false); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 40 JTextArea headerArea = new JTextArea("This is the S-MART installation tool.\r\nIt will download and install the needed softwares, as well as S-MART itself.\r\nYou can unselect the software that you already have installed.\r\nDuring the installation, accept all the default parameters."); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 41 TitledBorder headerBorder = BorderFactory.createTitledBorder("Welcome to the S-MART installer!"); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 42 headerArea.setEditable(false); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 43 headerArea.setBackground(headerPanel.getBackground()); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 44 headerPanel.add(headerArea); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 45 headerPanel.setBorder(headerBorder); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 46 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 47 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 48 // Configuration | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 49 JPanel configurationPanel = new JPanel(false); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 50 configurationPanel.setLayout(new GridLayout(1, 0)); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 51 configurationButtons = new JRadioButton[configurations.length]; | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 52 ButtonGroup configurationGroup = new ButtonGroup(); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 53 for (int i = 0; i < configurations.length; i++) { | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 54 JRadioButton button = new JRadioButton(configurations[i]); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 55 configurationPanel.add(button); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 56 configurationButtons[i] = button; | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 57 configurationGroup.add(button); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 58 } | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 59 configurationButtons[0].setSelected(true); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 60 TitledBorder configurationBorder = BorderFactory.createTitledBorder("Configuration"); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 61 configurationPanel.setBorder(configurationBorder); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 62 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 63 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 64 // Program chooser panel | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 65 JPanel programPanel = new JPanel(false); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 66 programPanel.setLayout(new GridLayout(0, 1)); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 67 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 68 JLabel programLabel = new JLabel("Choose which programs to install:"); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 69 programPanel.add(programLabel); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 70 programChooserButtons = new JCheckBox[programChoosers.length]; | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 71 for (int i = 0; i < programChoosers.length; i++) { | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 72 JCheckBox button = new JCheckBox(programChoosers[i]); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 73 button.setSelected(true); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 74 programPanel.add(button); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 75 programChooserButtons[i] = button; | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 76 } | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 77 TitledBorder programBorder = BorderFactory.createTitledBorder("Programs"); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 78 programPanel.setBorder(programBorder); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 79 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 80 // Install directory chooser | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 81 JPanel installDirectoryChooserPanel = new JPanel(false); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 82 installDirectoryChooserPanel.setLayout(new GridLayout(1, 0)); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 83 JLabel installDirectoryChooserLabel = new JLabel("Choose a directory to install S-MART: "); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 84 installDirectoryChooserTextField = new JTextField(); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 85 installDirectoryChooserButton = new JButton("Open..."); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 86 installDirectoryChooserButton.addActionListener(this); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 87 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 88 installDirectoryChooserPanel.add(installDirectoryChooserLabel); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 89 installDirectoryChooserPanel.add(installDirectoryChooserTextField); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 90 installDirectoryChooserPanel.add(installDirectoryChooserButton); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 91 TitledBorder installDirectoryChooserBorder = BorderFactory.createTitledBorder("Installation directory"); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 92 installDirectoryChooserPanel.setBorder(installDirectoryChooserBorder); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 93 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 94 // GO! | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 95 JPanel goPanel = new JPanel(false); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 96 goButton = new JButton("GO!"); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 97 goButton.addActionListener(this); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 98 goButton.setSelected(true); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 99 goPanel.add(goButton); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 100 TitledBorder goBorder = BorderFactory.createTitledBorder("Start install"); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 101 goPanel.setBorder(goBorder); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 102 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 103 // Log | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 104 logArea = new JTextArea(10, 120); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 105 logArea.setFont(new Font("Monospaced", logArea.getFont().getStyle(), logArea.getFont().getSize())); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 106 JScrollPane logScroll = new JScrollPane(logArea, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 107 TitledBorder logBorder = BorderFactory.createTitledBorder("Log"); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 108 logScroll.setBorder(logBorder); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 109 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 110 GridLayout horizontalLayout = new GridLayout(1, 0); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 111 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 112 box.add(headerPanel); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 113 box.add(configurationPanel); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 114 box.add(programPanel); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 115 box.add(installDirectoryChooserPanel); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 116 box.add(goPanel); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 117 box.add(logScroll); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 118 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 119 add(box); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 120 } | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 121 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 122 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 123 public void actionPerformed(ActionEvent e) { | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 124 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 125 // Install directories chooser | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 126 if (e.getSource() == goButton) { | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 127 boolean[] selectedPrograms = new boolean[programChoosers.length]; | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 128 for (int i = 0; i < programChoosers.length; i++) { | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 129 selectedPrograms[i] = programChooserButtons[i].isSelected(); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 130 } | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 131 SmartInstallerTask task = new SmartInstallerTask(logArea, selectedPrograms, installDirectoryChooserTextField.getText(), (configurationButtons[0].isSelected())? 0: 1); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 132 task.execute(); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 133 } | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 134 // Install directories chooser | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 135 else if (e.getSource() == installDirectoryChooserButton) { | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 136 JFileChooser chooser = new JFileChooser(); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 137 chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 138 if (chooser.showOpenDialog(mainFrame) == JFileChooser.APPROVE_OPTION) { | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 139 installDirectoryChooserTextField.setText(chooser.getSelectedFile().getPath()); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 140 } | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 141 } | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 142 } | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 143 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 144 private static void createAndShowGUI() { | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 145 // Create and set up the window. | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 146 JFrame mainFrame = new JFrame("S-Mart Installer"); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 147 mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 148 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 149 //Create and set up the content pane. | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 150 JComponent newContentPane = new SmartInstaller(); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 151 newContentPane.setOpaque(true); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 152 mainFrame.setContentPane(newContentPane); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 153 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 154 // Display the window. | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 155 mainFrame.pack(); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 156 mainFrame.setVisible(true); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 157 } | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 158 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 159 | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 160 public static void main(String[] args) { | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 161 javax.swing.SwingUtilities.invokeLater(new Runnable() { | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 162 public void run() { | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 163 createAndShowGUI(); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 164 } | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 165 }); | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 166 } | 
| 
e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
 yufei-luo parents: diff
changeset | 167 } | 
