| /* |
| * 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(); |
| } |
| } |
| } |
| |