app/src/main/java/org/sakaiproject/nakamura/app/LaunchNakamura.java
private void initComponents() {

    launchButton = new javax.swing.JButton();
    statusLabel = new javax.swing.JLabel();
    exitButton = new javax.swing.JButton();
    headingLabel = new javax.swing.JLabel();
    disclaimerLabel = new javax.swing.JLabel();
    browserButton = new javax.swing.JButton();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    setTitle("Launch Nakamura");
    setName("mainFrame"); // NOI18N
    setResizable(false);

    launchButton.setFont(new java.awt.Font("Arial", 0, 13)); // NOI18N
    launchButton.setText("Launch");
    launchButton.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        launchButtonActionPerformed(evt);
      }
    });

    statusLabel.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
    statusLabel.setText("Nakamura is not running.");

    exitButton.setFont(new java.awt.Font("Arial", 0, 13)); // NOI18N
    exitButton.setText("Exit");
    exitButton.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        exitButtonActionPerformed(evt);
      }
    });

    headingLabel.setText("SakaiOAE icon");
    headingLabel.setBorder(javax.swing.BorderFactory.createEtchedBorder());

    disclaimerLabel.setFont(new java.awt.Font("Arial", 0, 13)); // NOI18N
    disclaimerLabel.setText("jLabel1");
    disclaimerLabel.setVerticalAlignment(javax.swing.SwingConstants.TOP);
    disclaimerLabel.setAutoscrolls(true);
    disclaimerLabel.setBorder(javax.swing.BorderFactory.createTitledBorder("Disclaimer"));

    browserButton.setText("Open Sakai OAE");
    browserButton.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        browserButtonActionPerformed(evt);
      }
    });

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(layout.createParallelGroup(
        javax.swing.GroupLayout.Alignment.LEADING).addGroup(
        layout
            .createSequentialGroup()
            .addGroup(
                layout
                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(
                        layout
                            .createSequentialGroup()
                            .addGap(27, 27, 27)
                            .addComponent(launchButton)
                            .addGap(18, 18, 18)
                            .addComponent(statusLabel)
                            .addPreferredGap(
                                javax.swing.LayoutStyle.ComponentPlacement.RELATED, 162,
                                Short.MAX_VALUE)
                            .addComponent(browserButton)
                            .addPreferredGap(
                                javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(exitButton))
                    .addGroup(
                        javax.swing.GroupLayout.Alignment.CENTER,
                        layout
                            .createSequentialGroup()
                            .addContainerGap()
                            .addComponent(headingLabel,
                                javax.swing.GroupLayout.PREFERRED_SIZE, 149,
                                javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(18, 18, 18)
                            .addComponent(disclaimerLabel,
                                javax.swing.GroupLayout.PREFERRED_SIZE, 493,
                                javax.swing.GroupLayout.PREFERRED_SIZE)))
            .addContainerGap()));

    layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {
        exitButton, launchButton });

    layout.setVerticalGroup(layout
        .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(
            javax.swing.GroupLayout.Alignment.TRAILING,
            layout
                .createSequentialGroup()
                .addContainerGap()
                .addGroup(
                    layout
                        .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(disclaimerLabel,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 215,
                            javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(headingLabel,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 116,
                            javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(58, 58, 58)
                .addGroup(
                    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
                        .addComponent(browserButton).addComponent(exitButton))
                .addContainerGap())
        .addGroup(
            layout
                .createSequentialGroup()
                .addGap(259, 259, 259)
                .addGroup(
                    layout
                        .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(launchButton,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 50,
                            javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(statusLabel))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));

    pack();
  }
private void initComponents() {

    launchButton = new javax.swing.JButton();
    statusLabel = new javax.swing.JLabel();
    exitButton = new javax.swing.JButton();
    headingLabel = new javax.swing.JLabel();
    disclaimerLabel = new javax.swing.JLabel();
    browserButton = new javax.swing.JButton();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    setTitle("Launch Nakamura");
    setName("mainFrame"); // NOI18N
    setResizable(false);

    launchButton.setFont(new java.awt.Font("Arial", 0, 13)); // NOI18N
    launchButton.setText("Launch");
    launchButton.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        launchButtonActionPerformed(evt);
      }
    });

    statusLabel.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
    statusLabel.setText("Nakamura is not running.");

    exitButton.setFont(new java.awt.Font("Arial", 0, 13)); // NOI18N
    exitButton.setText("Exit");
    exitButton.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        exitButtonActionPerformed(evt);
      }
    });

    headingLabel.setText("SakaiOAE icon");
    headingLabel.setBorder(javax.swing.BorderFactory.createEtchedBorder());

    disclaimerLabel.setFont(new java.awt.Font("Arial", 0, 13)); // NOI18N
    disclaimerLabel.setText("jLabel1");
    disclaimerLabel.setVerticalAlignment(javax.swing.SwingConstants.TOP);
    disclaimerLabel.setAutoscrolls(true);
    disclaimerLabel.setBorder(javax.swing.BorderFactory.createTitledBorder("Disclaimer"));

    browserButton.setText("Open Sakai OAE");
    browserButton.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        browserButtonActionPerformed(evt);
      }
    });

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(layout.createParallelGroup(
        javax.swing.GroupLayout.Alignment.LEADING).addGroup(
        layout
            .createSequentialGroup()
            .addGroup(
                layout
                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(
                        layout
                            .createSequentialGroup()
                            .addGap(27, 27, 27)
                            .addComponent(launchButton)
                            .addGap(18, 18, 18)
                            .addComponent(statusLabel)
                            .addPreferredGap(
                                javax.swing.LayoutStyle.ComponentPlacement.RELATED, 162,
                                Short.MAX_VALUE)
                            .addComponent(browserButton)
                            .addPreferredGap(
                                javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(exitButton))
                    .addGroup(
                        javax.swing.GroupLayout.Alignment.CENTER,
                        layout
                            .createSequentialGroup()
                            .addContainerGap()
                            .addComponent(headingLabel,
                                javax.swing.GroupLayout.PREFERRED_SIZE, 149,
                                javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(18, 18, 18)
                            .addComponent(disclaimerLabel,
                                javax.swing.GroupLayout.PREFERRED_SIZE, 493,
                                javax.swing.GroupLayout.PREFERRED_SIZE)))
            .addContainerGap()));

    layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {
        exitButton, launchButton });

    layout.setVerticalGroup(layout
        .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(
            javax.swing.GroupLayout.Alignment.TRAILING,
            layout
                .createSequentialGroup()
                .addContainerGap()
                .addGroup(
                    layout
                        .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(disclaimerLabel,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 215,
                            javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(headingLabel,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 116,
                            javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(58, 58, 58)
                .addGroup(
                    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
                        .addComponent(browserButton).addComponent(exitButton))
                .addContainerGap())
        .addGroup(
            layout
                .createSequentialGroup()
                .addGap(259, 259, 259)
                .addGroup(
                    layout
                        .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(launchButton,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 50,
                            javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(statusLabel))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));

    pack();
  }
This method is called from within the constructor to initialize the form.
<p>
Note: This code was generated by Netbeans.