001    /*
002     * @(#)MohrAboutBox.java
003     */
004    
005    import java.awt.*;
006    import java.awt.event.*;
007    import javax.swing.*;
008    import javax.swing.event.*;
009    import javax.swing.border.*;
010    
011    /**
012     * MohrAboutBox.java - Dialogo de créditos do programa de
013     * círculo de Mohr.
014     *
015     * <p>
016     * Descrição:
017     * <p>
018     * ===============================================================
019     * <p>
020     * Este arquivo contém funções que disparam um diálogo com os
021     * créditos do programa de círculo de Mohr.
022     *
023     * <p>
024     * ===============================================================
025     *
026     * @version    1.0 04/09/2004
027     * @author     Luiz Fernando Martha
028     * @author     Alonso Juvinao Carbono
029     * @author     Anderson Resende Pereira
030     * @author     Fernando Busato Ramires
031     * @author     Paôla Reginal Dalcanal
032     * @author     Ricardo Rodrigues de Araujo  
033     *
034     */
035    class MohrAboutBox extends JDialog
036    {
037      private MohrControls controls;
038      private String creditsmsgpor;
039      private String creditsmsgeng;
040      private JTextArea creditstext;
041      private String descriptionmsgpor;
042      private String descriptionmsgeng;
043      private JTextArea descriptiontext;
044    
045      public MohrAboutBox( MohrControls controls )
046      {
047        this.controls = controls;
048        setTitle( "Sobre o programa de círculo de Mohr ");
049    
050        JPanel picons = new JPanel();
051        picons.setLayout( new GridLayout( 2, 1 ) );
052        JLabel lbl = new JLabel(new ImageIcon(getClass().getResource(
053                                                      "images/brazaopucrio.gif")));
054        Border b1 = new BevelBorder(BevelBorder.LOWERED);
055        Border b2 = new EmptyBorder(5, 5, 5, 5);
056        lbl.setBorder(new CompoundBorder(b1, b2));
057        picons.add(lbl);
058    
059        getContentPane().add(picons, BorderLayout.WEST);
060    
061        creditsmsgpor = 
062          "e-Mohr: Ferramenta educacional para círculo de Mohr\n\n"+
063          "Copyright:\n"+ "Luiz Fernando Martha\n"+"Alonso Juvinao Carbono\n"+
064          "Anderson Resende Pereira\n"+"Fernando Busato Ramires\n"+
065          "Paôla Reginal Dalcanal\n"+"Ricardo Rodrigues de Araujo\n\n"+
066          "Versão 1.00, Setembro 2004\n\n"+
067          "Pontifícia Universidade Católica do Rio de Janeiro - PUC-Rio\n"+
068          "Departamento de Engenharia Civil";
069        creditsmsgeng = 
070          "e-Mohr: Mohr's circle educational tool\n\n"+
071          "Copyright:\n"+ "Luiz Fernando Martha\n"+"Alonso Juvinao Carbono\n"+
072          "Anderson Resende Pereira\n"+"Fernando Busato Ramires\n"+
073          "Paôla Reginal Dalcanal\n"+"Ricardo Rodrigues de Araujo\n\n"+
074          "Version 1.00, September 2004\n\n"+
075          "Pontifical Catholic University of Rio de Janeiro - PUC-Rio\n"+
076          "Civil Engineering Department";
077    
078        creditstext = new JTextArea(creditsmsgpor);
079        creditstext.setBorder(new EmptyBorder(5, 10, 5, 10));
080        creditstext.setFont(new Font("Helvetica", Font.BOLD, 12));
081        creditstext.setEditable(false);
082        creditstext.setBackground(getBackground());
083        JPanel p = new JPanel();
084        p.setLayout(new BoxLayout(p, BoxLayout.Y_AXIS));
085        p.add(creditstext);
086    
087        descriptionmsgpor = 
088                  "Este programa demonstra como funciona o \n"+
089                  "círculo de Mohr para estado plano de tensões. \n"+
090                  "Ele foi desenvolvido como projeto final da \n"+
091                  "disciplina CIV 2802 - Sistemas Gráficos para \n"+
092                  "Engenharia, PUC-Rio, no primeiro semestre de 2004.";
093        descriptionmsgeng = 
094                  "This program demonstrates the behavior of \n"+
095                  "the Mohr's circle for plane stress state. \n"+
096                  "It was developed as the final project of \n"+
097                  "course CIV 2802 - Engineering Graphics Systems, \n"+
098                  "PUC-Rio, during the first semester of 2004.";
099    
100        descriptiontext = new JTextArea(descriptionmsgpor);
101        descriptiontext.setBorder(new EmptyBorder(5, 10, 5, 10));
102        descriptiontext.setFont(new Font("Arial", Font.PLAIN, 12));
103        descriptiontext.setEditable(false);
104        descriptiontext.setBackground(getBackground());
105        p.add(descriptiontext);
106    
107        getContentPane().add(p, BorderLayout.CENTER);
108    
109        JButton btOK = new JButton("OK");
110        ActionListener lst = new ActionListener() { 
111          public void actionPerformed(ActionEvent e) {
112            exit_dlg();
113          }
114        };
115        btOK.addActionListener(lst);
116        p = new JPanel();
117        p.add(btOK);
118        getContentPane().add(p, BorderLayout.SOUTH);
119    
120        addWindowListener( new WindowAdapter() {
121         public void windowClosing( WindowEvent e ) {
122          exit_dlg();
123         }
124        } );
125    
126        pack();
127        setResizable(false);
128      }
129    
130      private void exit_dlg( )
131      {
132       setVisible(false);
133       controls.resetInfoDlg();
134      }
135    
136      public void setPortuguese( )
137      {
138       setTitle( "Sobre o programa de círculo de Mohr" );
139       creditstext.setText( creditsmsgpor );
140       descriptiontext.setText( descriptionmsgpor );
141      }
142    
143      public void setEnglish( )
144      {
145       setTitle( "About the Mohr's circle program" );
146       creditstext.setText( creditsmsgeng );
147       descriptiontext.setText( descriptionmsgeng );
148      }
149    }
150