www.pudn.com > Caliph_v0.9.13+Emirv0.8.5-src.zip > AboutDialog.java


/* 
 * This file is part of Caliph & Emir. 
 * 
 * Caliph & Emir 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, or 
 * (at your option) any later version. 
 * 
 * Caliph & Emir 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. 
 * 
 * You should have received a copy of the GNU General Public License 
 * along with Caliph & Emir; if not, write to the Free Software 
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
 * 
 * Copyright statement: 
 * -------------------- 
 * (c) 2002-2004 by Mathias Lux (mathias@juggle.at) 
 * http://www.juggle.at 
 */ 
/* 
 * Created by Mathias Lux, mathias@juggle.at 
 * User: Mathias Lux, mathias@juggle.at 
 * Date: 15.09.2002 
 * Time: 22:48:52 
 */ 
 
/** 
 * Description 
 * @author Mathias Lux, mathias@juggle.at 
 * 
 */ 
package at.lux.fotoannotation.dialogs; 
 
import at.lux.fotoannotation.AnnotationFrame; 
import at.lux.fotoannotation.AnnotationToolkit; 
 
import javax.swing.*; 
import java.awt.*; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import java.util.Properties; 
import java.io.FileInputStream; 
import java.io.File; 
import java.io.IOException; 
 
public class AboutDialog extends JDialog { 
    private JLabel freeText; 
    private JLabel label, status, desc; 
 
    public AboutDialog(Frame owner) { 
        super(owner, true); 
        freeText = new JLabel("© 2002-2004 by Mathias Lux, Know-Center, mathias@juggle.at", JLabel.CENTER); 
        freeText.setFont(freeText.getFont().deriveFont(Font.ITALIC, 12f)); 
        status = new JLabel("Know-Center
Inffeldgasse 21a
8010 Graz
Austria", JLabel.CENTER); status.setFont(status.getFont().deriveFont(10f)); status.setIcon(new ImageIcon(AnnotationFrame.class.getResource("data/icon.gif"))); desc = new JLabel("" + AnnotationToolkit.PROGRAM_NAME + " is a java based Common And LIght-weight PHoto annotation system. All metadata is saved as MPEG-7.

" + "Thanks to (alphabetically order): " + "
The Know-Center is a Competence Center funded within the Austrian Competence Center program K plus under the auspices of the Austrian Ministry of Transport, Innovation and Technology (http://www.kplus.at)
" + "
Parts of this software are taken from a project called IMB, developed by the Know-Center in cooperation with Joanneum Research (http://www.joanneum.at)
" + "
Started in the context of a lecture hold by Harald Krottmaier, IICM - TU Graz (http://www.iicm.edu)
" + "", JLabel.CENTER); desc.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); desc.setPreferredSize(new Dimension(360, 320)); desc.setFont(desc.getFont().deriveFont(9f)); Properties buildProps = new Properties(); try { buildProps.load(AboutDialog.class.getResource("build.properties").openStream()); } catch (IOException e) { debug("Build properties could not be loaded!"); } String build = ""; if (buildProps.getProperty("build")!=null) { build = " (build #" + buildProps.getProperty("build") + ")"; } this.setTitle("About " + AnnotationToolkit.PROGRAM_NAME + " " + AnnotationToolkit.VERSION_NUMBER + build); label = new JLabel("About " + AnnotationToolkit.PROGRAM_NAME + " " + AnnotationToolkit.VERSION_NUMBER + "", JLabel.CENTER); label.setFont(label.getFont().deriveFont(Font.BOLD, 14f)); JPanel bpane = new JPanel(new BorderLayout()); JButton ok = new JButton("Ok"); ok.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { setVisible(false); } }); JPanel buttonPanel = new JPanel(new FlowLayout()); buttonPanel.add(ok); bpane.add(desc, BorderLayout.SOUTH); bpane.add(status, BorderLayout.CENTER); bpane.add(freeText, BorderLayout.NORTH); JPanel AboutPane = new JPanel(new BorderLayout()); AboutPane.setBorder(BorderFactory.createEtchedBorder()); AboutPane.add(label, BorderLayout.NORTH); AboutPane.add(bpane, BorderLayout.CENTER); this.getContentPane().add(AboutPane, BorderLayout.CENTER); this.getContentPane().add(buttonPanel, BorderLayout.SOUTH); } private void debug(String message) { System.out.println("[at.lux.fotoannotation.dialogs.AboutDialog] " + message); } }