blob: 643c78b7c1a3ca06ffe92f54c007aab2b0e00194 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/* $Id$ */
package org.apache.fop.render.awt.viewer;
import java.awt.AWTEvent;
import java.awt.BorderLayout;
import java.awt.Dialog;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import org.apache.fop.Version;
/**
* AWT Viewer's "About" dialog.
* Originally contributed by:
* Juergen Verwohlt: Juergen.Verwohlt@jCatalog.com,
* Rainer Steinkuhle: Rainer.Steinkuhle@jCatalog.com,
* Stanislav Gorkhover: Stanislav.Gorkhover@jCatalog.com
*/
public class PreviewDialogAboutBox extends Dialog implements ActionListener {
private JButton okButton;
/**
* Creates modal "About" dialog, attached to a given parent frame.
* @param parent parent frame
* @param translator Translator for localization
*/
public PreviewDialogAboutBox(Frame parent, Translator translator) {
super(parent, true);
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
setTitle(translator.getString("About.Title"));
setResizable(false);
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
JPanel insetsPanel1 = new JPanel();
JPanel insetsPanel2 = new JPanel();
JPanel insetsPanel3 = new JPanel();
okButton = new JButton();
JLabel imageControl1 = new JLabel();
imageControl1.setIcon(new ImageIcon(PreviewDialogAboutBox.class.getResource("images/fop.gif")));
JLabel label1 = new JLabel(translator.getString("About.Product"));
JLabel label2 = new JLabel(translator.getString("About.Version")
+ " " + Version.getVersion());
JLabel label3 = new JLabel(translator.getString("About.Copyright"));
panel1.setLayout(new BorderLayout());
panel2.setLayout(new BorderLayout());
insetsPanel1.setLayout(new FlowLayout());
insetsPanel2.setLayout(new FlowLayout());
insetsPanel2.setBorder(new EmptyBorder(10, 10, 10, 10));
insetsPanel3.setLayout(new GridLayout(3, 1));
insetsPanel3.setBorder(new EmptyBorder(10, 10, 10, 10));
okButton.setText(translator.getString("Button.Ok"));
okButton.addActionListener(this);
insetsPanel2.add(imageControl1, null);
panel2.add(insetsPanel2, BorderLayout.WEST);
insetsPanel3.add(label1);
insetsPanel3.add(label2);
insetsPanel3.add(label3);
panel2.add(insetsPanel3, BorderLayout.CENTER);
insetsPanel1.add(okButton);
panel1.add(insetsPanel1, BorderLayout.SOUTH);
panel1.add(panel2, BorderLayout.NORTH);
add(panel1);
pack();
}
/**
* {@inheritDoc}
*/
protected void processWindowEvent(WindowEvent e) {
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
cancel();
}
super.processWindowEvent(e);
}
private void cancel() {
dispose();
}
/**
* {@inheritDoc}
*/
public void actionPerformed(ActionEvent e) {
if (e.getSource() == okButton) {
cancel();
}
}
}