
org.ow2.jonas.autostart.frame.GettingJonasFieldFromDiskFrame 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: GettingJonasFieldFromDiskFrame.java 20819 2011-02-02 16:00:53Z benoitf $
* --------------------------------------------------------------------------
*/
package org.ow2.jonas.autostart.frame;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.Insets;
import java.awt.event.ActionListener;
import java.awt.event.KeyListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSeparator;
import javax.swing.JTextField;
import javax.swing.SpringLayout;
import javax.swing.border.EmptyBorder;
import org.ow2.jonas.autostart.utility.SpringUtilities;
/**
* This class creates main panel with gettingJonasFieldFromDiskFrame fields.
* @author skabore
*/
public class GettingJonasFieldFromDiskFrame extends JPanel {
/**
* The content panel.
*/
private JPanel contentPanel;
/**
* The icon label.
*/
private JLabel iconLabel;
/**
* The separator.
*/
private JSeparator separator;
/**
* The text label.
*/
private JLabel textLabel;
/**
* The JOnAS root label.
*/
private JLabel jonasRootLabel;
/**
* The JOnAS base label.
*/
private JLabel jonasBaseLabel;
/**
* The label.
*/
private JLabel label;
/**
* The error label.
*/
private JLabel errorLabel;
/**
* The title panel.
*/
private JPanel titlePanel;
/**
* The JOnAS root textfield.
*/
private JTextField jonasRoot;
/**
* The JOnAS base textfield.
*/
private JTextField jonasBase;
/**
* The use JOnAS base checkBox.
*/
private JCheckBox useJonasBase;
/**
* The JOnAS root browse button.
*/
private JButton jbBrowseJonasRoot;
/**
* The JOnAS base browse button.
*/
private JButton jbBrowseJonasBase;
/**
* Setps to create a starter jar file.
*/
private int steps;
/**
* The constructor.
* @param steps, the required steps to create a starter
*/
public GettingJonasFieldFromDiskFrame(final int steps) {
super();
this.steps = steps;
contentPanel = getContentPanel();
contentPanel.setBorder(new EmptyBorder(new Insets(10, 10, 10, 10)));
ImageIcon icon = getImageIcon();
titlePanel = new javax.swing.JPanel();
textLabel = new javax.swing.JLabel();
iconLabel = new javax.swing.JLabel();
separator = new javax.swing.JSeparator();
setLayout(new java.awt.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("Local JOnAS server folder");
textLabel.setBorder(new EmptyBorder(new Insets(10, 10, 10, 10)));
textLabel.setOpaque(true);
iconLabel.setBackground(Color.gray);
if (icon != null) {
iconLabel.setIcon(icon);
}
titlePanel.add(textLabel, BorderLayout.CENTER);
titlePanel.add(new JLabel("5/" + this.steps + " "), BorderLayout.EAST);
titlePanel.add(separator, BorderLayout.SOUTH);
add(titlePanel, BorderLayout.NORTH);
JPanel secondaryPanel = new JPanel();
secondaryPanel.add(contentPanel, BorderLayout.NORTH);
add(secondaryPanel, BorderLayout.WEST);
}
/**
* @return contentPanel1 the content panel.
*/
private JPanel getContentPanel() {
JPanel contentPanel1 = new JPanel(new BorderLayout());
useJonasBase = new JCheckBox("Use private configuration folder" + " (JOnAS Base)");
jonasRoot = new JTextField(52);
jonasBase = new JTextField();
jbBrowseJonasRoot = new JButton("Browse...");
jbBrowseJonasBase = new JButton("Browse...");
jonasRootLabel = new JLabel("JOnAS Root ");
jonasBaseLabel = new JLabel("JOnAS Base ");
label = new JLabel("Set the fields by choosing a valid" + " JOnAS Root folder");
errorLabel = new JLabel();
errorLabel.setForeground(Color.red);
contentPanel1.add(createFromDiskPanel(), BorderLayout.CENTER);
contentPanel1.add(errorLabel, BorderLayout.SOUTH);
return contentPanel1;
}
/**
* Create panel based on the FromDisk option.
* @return contentPanel
*/
private JPanel createFromDiskPanel() {
JPanel content = new JPanel();
JPanel applicationPanel = new JPanel(new SpringLayout());
JPanel jonasRootPanel = new JPanel(new SpringLayout());
JPanel jonasRootFieldPanel = new JPanel(new SpringLayout());
JPanel jonasBasePanel = new JPanel(new SpringLayout());
JPanel jonasBaseFieldPanel = new JPanel(new SpringLayout());
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);
jonasBaseLabel.setLabelFor(jonasBase);
jonasBaseFieldPanel.add(jonasBase);
jonasBaseFieldPanel.add(jbBrowseJonasBase);
SpringUtilities.makeCompactGrid(jonasBaseFieldPanel, 1, 2, 6, 0, 6, 0);
jonasBasePanel.add(jonasBaseLabel);
jonasBasePanel.add(jonasBaseFieldPanel);
SpringUtilities.makeCompactGrid(jonasBasePanel, 1, 2, 6, 6, 6, 6);
showJonasBaseField(false);
applicationPanel.add(label);
applicationPanel.add(new JLabel(""));
applicationPanel.add(jonasRootPanel);
applicationPanel.add(useJonasBase);
applicationPanel.add(jonasBasePanel);
SpringUtilities.makeCompactGrid(applicationPanel, 5, 1, 6, 6, 6, 6);
content.add(applicationPanel);
return content;
}
/**
* @return imageIcon. the image icon.
*/
private ImageIcon getImageIcon() {
return null;
}
/**
* @return jbBrowseJonasBase
*/
public JButton getJbBrowseJonasBase() {
return jbBrowseJonasBase;
}
/**
* @return jbBrowseJonasRoot
*/
public JButton getJbBrowseJonasRoot() {
return jbBrowseJonasRoot;
}
/**
* @return jonasBase
*/
public JTextField getJonasBase() {
return jonasBase;
}
/**
* @return jonasBaseLabel
*/
public JLabel getJonasBaseLabel() {
return jonasBaseLabel;
}
/**
* @return jonasRoot
*/
public JTextField getJonasRoot() {
return jonasRoot;
}
/**
* @return jonasRootLabel
*/
public JLabel getJonasRootLabel() {
return jonasRootLabel;
}
/**
* @return label
*/
public JLabel getLabel() {
return label;
}
/**
* @return errorLabel
*/
public JLabel getErrorLabel() {
return errorLabel;
}
/**
* @return useJonasBase
*/
public JCheckBox getUseJonasBase() {
return useJonasBase;
}
/**
* Show or hide the JOnAS Base fields.
* @param enable if true JOnAS Base fields are showed, hided otherwise.
*/
public void showJonasBaseField(final boolean enable) {
jonasBase.setVisible(enable);
jbBrowseJonasBase.setVisible(enable);
jonasBaseLabel.setVisible(enable);
}
/**
* Add actionListener to the buttons.
* @param listener the listener.
*/
public void addActionListener(final ActionListener listener) {
useJonasBase.addActionListener(listener);
jbBrowseJonasRoot.addActionListener(listener);
jbBrowseJonasBase.addActionListener(listener);
}
/**
* Add keyListener to the textfileds.
* @param keyListener the keyListener.
*/
@Override
public void addKeyListener(final KeyListener keyListener) {
jonasRoot.addKeyListener(keyListener);
jonasBase.addKeyListener(keyListener);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy