All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.ow2.jonas.autostart.stop.StopFrame Maven / Gradle / Ivy

The newest version!
/**
 * JOnAS: Java(TM) Open Application Server
 * Copyright (C) 2010 Bull S.A.S.
 * Contact: [email protected]
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
 * USA
 *
 * --------------------------------------------------------------------------
 * $Id: StopFrame.java 20819 2011-02-02 16:00:53Z benoitf $
 * --------------------------------------------------------------------------
 */
package org.ow2.jonas.autostart.stop;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.Insets;
import java.awt.Toolkit;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSeparator;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.SpringLayout;
import javax.swing.WindowConstants;
import javax.swing.border.EmptyBorder;

import org.ow2.jonas.autostart.starter.Starter;
import org.ow2.jonas.autostart.utility.SpringUtilities;

/**
 * This class creates main panel with ConfiguratorFrame fields.
 * @author skabore
 */
public class StopFrame extends JDialog {

    /**
     * The starter librairy.
     */
    private Starter starter;

    /**
     * The content panel.
     */
    private JPanel contentPanel;

    /**
     * The error label.
     */
    private JLabel errorLabel;

    /**
     * The label.
     */
    private JLabel label;

    /**
     * The separator.
     */
    private JSeparator separator;

    /**
     * The text label.
     */
    private JLabel textLabel;

    /**
     * The title panel.
     */
    private JPanel titlePanel;

    /**
     * The JOnAS root label.
     */
    private JLabel jonasRootLabel;

    /**
     * The Java home label.
     */
    private JLabel javaHomeLabel;

    /**
     * The JOnAS root textfield.
     */
    private JTextField jonasRoot;

    /**
     * The Java home textfield.
     */
    private JTextField javaHome;

    /**
     * The JOnAS root browse button.
     */
    private JButton jbBrowseJonasRoot;

    /**
     * The Java home browse button.
     */
    private JButton jbBrowseJavaHome;

    /**
     * The Stop button.
     */
    private JButton jbStop;

    /**
     * The cancel button.
     */
    private JButton jbCancel;

    /**
     * The ouput textArea.
     */
    private JTextArea outputTextArea;

    /**
     * The constructor.
     * @param starter the starter librairy.
     */
    public StopFrame(final Starter starter) {
        super();
        setTitle("JOnAS AutoStart :: Stopping JOnAS server...");
        this.starter = starter;
        titlePanel = new JPanel();
        textLabel = new JLabel();
        separator = new JSeparator();
        javaHome = new JTextField(System.getenv("JAVA_HOME"), 25);
        jonasRoot = new JTextField(25);
        if (starter != null) {
            jonasRoot.setText(starter.getJonasRoot().getAbsolutePath());
        }
        jbBrowseJonasRoot = new JButton("Browse...");
        jbBrowseJavaHome = new JButton("Browse...");
        jbStop = new JButton("Stop");
        jbCancel = new JButton("Cancel");
        jbStop.setMnemonic(KeyEvent.VK_S);
        jbCancel.setMnemonic(KeyEvent.VK_C);
        jonasRootLabel = new JLabel("JOnAS Root ", JLabel.TRAILING);
        javaHomeLabel = new JLabel("  Java home ", JLabel.TRAILING);
        errorLabel = new JLabel();
        errorLabel.setForeground(Color.red);
        outputTextArea = new JTextArea(10, 40);
        outputTextArea.setEditable(false);

        contentPanel = getContentPanel();
        contentPanel.setBorder(new EmptyBorder(new Insets(10, 10, 10, 10)));
        setLayout(new BorderLayout());

        titlePanel.setLayout(new java.awt.BorderLayout());
        titlePanel.setBackground(Color.gray);

        textLabel.setBackground(Color.gray);
        textLabel.setFont(new Font("MS Sans Serif", Font.BOLD, 14));
        textLabel.setText("Stopping JOnAS server...");
        textLabel.setBorder(new EmptyBorder(new Insets(10, 10, 10, 10)));
        textLabel.setOpaque(true);

        titlePanel.add(textLabel, BorderLayout.CENTER);
        titlePanel.add(separator, BorderLayout.SOUTH);

        add(titlePanel, BorderLayout.NORTH);
        JPanel secondaryPanel = new JPanel(new BorderLayout());
        secondaryPanel.add(contentPanel, BorderLayout.CENTER);
        add(secondaryPanel, BorderLayout.CENTER);
        pack();
        setVisible(true);
        setResizable(false);
        // setAlwaysOnTop(true);
        setEnabled(true);
        setLocation((Toolkit.getDefaultToolkit().getScreenSize().width - this.getPreferredSize().width) / 2, (Toolkit
                .getDefaultToolkit().getScreenSize().height - this.getPreferredSize().height) / 2);
        setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    }

    /**
     * @return starter.
     */
    public final Starter getStarter() {
        return starter;
    }

    /**
     * @return jbCancel
     */
    public final JButton getJbCancel() {
        return jbCancel;
    }

    /**
     * @return jbStop
     */
    public final JButton getJbStop() {
        return jbStop;
    }

    /**
     * @return outputTextArea
     */
    public final JTextArea getOutputTextArea() {
        return outputTextArea;
    }

    /**
     * @return contentPanel1 the content panel.
     */
    private JPanel getContentPanel() {

        JPanel content = new JPanel();
        JPanel applicationPanel = new JPanel(new SpringLayout());
        JPanel javaHomePanel = new JPanel(new SpringLayout());
        JPanel javaHomeFieldPanel = new JPanel(new SpringLayout());
        JPanel jonasRootPanel = new JPanel(new SpringLayout());
        JPanel jonasRootFieldPanel = new JPanel(new SpringLayout());
        // JPanel detailPanel = new JPanel(new SpringLayout());
        JPanel buttonPanel = new JPanel();

        javaHomeLabel.setLabelFor(javaHome);
        javaHomeFieldPanel.add(javaHome);
        javaHomeFieldPanel.add(jbBrowseJavaHome);
        SpringUtilities.makeCompactGrid(javaHomeFieldPanel, 1, 2, 6, 0, 6, 0);
        javaHomePanel.add(javaHomeLabel);
        javaHomePanel.add(javaHomeFieldPanel);
        SpringUtilities.makeCompactGrid(javaHomePanel, 1, 2, 6, 6, 6, 6);

        jonasRootLabel.setLabelFor(jonasRoot);
        jonasRootFieldPanel.add(jonasRoot);
        jonasRootFieldPanel.add(jbBrowseJonasRoot);
        SpringUtilities.makeCompactGrid(jonasRootFieldPanel, 1, 2, 6, 0, 6, 0);
        jonasRootPanel.add(jonasRootLabel);
        jonasRootPanel.add(jonasRootFieldPanel);
        SpringUtilities.makeCompactGrid(jonasRootPanel, 1, 2, 6, 6, 6, 6);

        buttonPanel.add(jbStop);
        buttonPanel.add(jbCancel);

        applicationPanel.add(javaHomePanel);
        applicationPanel.add(jonasRootPanel);
        applicationPanel.add(outputTextArea);
        applicationPanel.add(buttonPanel);
        SpringUtilities.makeCompactGrid(applicationPanel, 4, 1, 0, 0, 0, 0);

        content.add(applicationPanel);
        return content;
    }

    /**
     * @return jbBrowseJavaHome
     */
    public final JButton getJbBrowseJavaHome() {
        return jbBrowseJavaHome;
    }

    /**
     * @return jbBrowseJonasRoot
     */
    public final JButton getJbBrowseJonasRoot() {
        return jbBrowseJonasRoot;
    }

    /**
     * @return javaHome
     */
    public final JTextField getJavaHome() {
        return javaHome;
    }

    /**
     * @return javaHomeLabel
     */
    public final JLabel getJavaHomeLabel() {
        return javaHomeLabel;
    }

    /**
     * @return jonasRoot
     */
    public final JTextField getJonasRoot() {
        return jonasRoot;
    }

    /**
     * @return jonasRootLabel
     */
    public final JLabel getJonasRootLabel() {
        return jonasRootLabel;
    }

    /**
     * @return label
     */
    public final JLabel getLabel() {
        return label;
    }

    /**
     * @return errorLabel
     */
    public final JLabel getErrorLabel() {
        return errorLabel;
    }

    /**
     * Add actionListener to the buttons.
     * @param listener the listener.
     */
    public final void addActionListener(final ActionListener listener) {
        jbBrowseJonasRoot.addActionListener(listener);
        jbBrowseJavaHome.addActionListener(listener);
        jbStop.addActionListener(listener);
        jbCancel.addActionListener(listener);
    }

    /**
     * Add keyListener to the textfileds.
     * @param keyListener the keyListener.
     */
    @Override
    public final void addKeyListener(final KeyListener keyListener) {
        jonasRoot.addKeyListener(keyListener);
        javaHome.addKeyListener(keyListener);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy