Package org.analyse.core.gui

Source Code of org.analyse.core.gui.AboutWindow

/*
* File        : AboutWindow2.java
* Date      : 1 avr. 2004
* Author   : loyl
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License.
*
* This program 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 General Public License for more details ( see the LICENSE file ).
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/
package org.analyse.core.gui;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.net.URL;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;

import org.analyse.core.gui.action.BasicAction;
import org.analyse.core.util.Constantes;
import org.analyse.core.util.GUIUtilities;
import org.analyse.core.util.MyPanelFactory;
import org.analyse.core.util.Utilities;
import org.analyse.main.Main;

/**
* @author loyl
*/
public class AboutWindow extends JDialog implements ActionListener
{
    private BasicAction close;
   
    public AboutWindow(JFrame parent)
    {
        super(parent, Utilities.getRelease());

        initAction();
       
        JPanel p = new JPanel(new BorderLayout());

        JLabel img = new JLabel(GUIUtilities.getImageIcon(Constantes.FILE_PNG_LOGO ));
        img.setBorder(BorderFactory.createEtchedBorder());

        JPanel pImg = new JPanel(new BorderLayout());
        pImg.add(img, BorderLayout.CENTER);
        pImg.setBorder(BorderFactory.createEmptyBorder(8, 8, 8, 8));

        JTabbedPane pane = new JTabbedPane();
        pane.setBorder(BorderFactory.createEmptyBorder(8, 8, 8, 8));
        pane.add(Utilities.getLangueMessage(Constantes.MESSAGE_APROPOS) , pImg);
        pane.add(Utilities.getLangueMessage(Constantes.MESSAGE_AUTEUR), buildAuthorPane());
        //pane.add(Utilities.getLangueMessage(Constantes.MESSAGE_QUOI_DE_NEUF), buildWhatsnewPane());
        pane.add(Utilities.getLangueMessage(Constantes.MESSAGE_LICENCE), buildLicensePane());

        p.add(BorderLayout.CENTER, pane);
        p.add(BorderLayout.SOUTH, MyPanelFactory.createBottomWhitePanel(new JButton(close)));

        this.getContentPane().add(p);
        this.setSize(new Dimension(540, 550));
        this.setResizable(false);
        GUIUtilities.centerComponent(this);
    }

    private JPanel buildWhatsnewPane()
    {
        JPanel panel = new JPanel(new BorderLayout());
       
        try {

            JEditorPane editor = new JEditorPane( Main.class.getResource("help/whatsnew.html") );
            editor.setEditable(false);
            panel.setBorder(BorderFactory.createEmptyBorder(8, 8, 8, 8));

            panel.add(new JScrollPane(editor), BorderLayout.CENTER);
        } catch (IOException e) {
        }

        return panel;
    }

    private JPanel buildAuthorPane()
    {
        JPanel panel = new JPanel(new BorderLayout());
       
        try {

            JEditorPane editor = new JEditorPane( Main.class.getResource("help/author.html") );
            editor.setEditable(false);
            panel.setBorder(BorderFactory.createEmptyBorder(8, 8, 8, 8));

            panel.add(new JScrollPane(editor), BorderLayout.CENTER);
        } catch (IOException e) {
        }

        return panel;
    }

    private JPanel buildLicensePane()
    {
        JPanel panel = new JPanel(new BorderLayout());
        URL url = Main.class.getResource("help/GPL.html");
        try {
            JEditorPane editor = new JEditorPane(url);
            editor.setEditable(false);

            panel.setBorder(BorderFactory.createEmptyBorder(8, 8, 8, 8));
            panel.add(new JScrollPane(editor), BorderLayout.CENTER);
        } catch (IOException e) {
        }

        return panel;
    }
   
    private void initAction() {
        close = new BasicAction(
              Utilities.getLangueMessage(Constantes.MESSAGE_FERMER),
              Utilities.getLangueMessage(Constantes.MESSAGE_FERMER_CETTE_FENETRE),
              Constantes.CLOSE, null,
                0, null);
        close.addActionListener(this);
    }

    public void actionPerformed(ActionEvent e) {
        if(e.getActionCommand().equals(Constantes.CLOSE)) {
            this.setVisible(false);
        }
    }
}
TOP

Related Classes of org.analyse.core.gui.AboutWindow

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.