001    /*
002     * @(#)MohrPanel.java
003     */
004    
005    import java.awt.BorderLayout;
006    import java.awt.GridLayout;
007    import java.awt.Dimension;
008    import javax.swing.JPanel;
009    import javax.swing.JLabel;
010    import javax.swing.BorderFactory;
011    
012    /**
013     * MohrPanel.java - Defines the interface panel of the 
014     * Mohr-Circle program.
015     *
016     * <p>
017     * Description:
018     * <p>
019     * ===============================================================
020     * <p>
021     * This file contains an implementation of the Mohr-Circle
022     * for plane stress problems.
023     *
024     * <p>
025     * ===============================================================
026     *
027     * @version    1.0 06/09/2004
028     * @author     Luiz Fernando Martha
029     * @author     Alonso Juvinao Carbono
030     * @author     Anderson Resende Pereira
031     * @author     Fernando Busato Ramires
032     * @author     Paôla Reginal Dalcanal
033     * @author     Ricardo Rodrigues de Araujo  
034     *
035     */
036    class MohrPanel extends JPanel
037    {
038     /** Resolvedor do círculo de Mohr */
039     MohrDriver driver;
040    
041     /** Régua de controles do programa */
042     MohrControls controls;
043    
044     /** Painel de controle do estado plano de tensões */
045     MohrStateStrs statestrs;
046    
047     /** Painel de controle do plano para cálculo de tensões */
048     MohrThetaStrs thetastrs;
049    
050     /** Painel de visualização das tensões principais */
051     MohrPrincipalStrs principalstrs;
052    
053     /** Canvas do círculo de Mohr */
054     MohrCircleCanvas circle_canvas;
055    
056     /** Canvas do estado de tensões corrente */
057     MohrStateStrsCanvas statestrs_canvas;
058    
059     /** Canvas das tensões no plano inclinado */
060     MohrThetaStrsCanvas thetastrs_canvas;
061    
062     /** Canvas das tensões principais */
063     MohrPrincipalStrsCanvas principalstrs_canvas;
064    
065    /*=========================  Constructors  ==========================*/
066    
067     MohrPanel( MohrFrame owner, boolean is_portuguese )
068     {
069      driver = new MohrDriver( this );
070      controls = new MohrControls( owner, this );
071      statestrs = new MohrStateStrs( driver );
072      thetastrs = new MohrThetaStrs( driver );
073      principalstrs = new MohrPrincipalStrs( driver );
074    
075      controls.setBorder( BorderFactory.createEtchedBorder() );
076    
077      circle_canvas = new MohrCircleCanvas( driver );
078      statestrs_canvas = new MohrStateStrsCanvas( driver );
079      thetastrs_canvas = new MohrThetaStrsCanvas( driver );
080      principalstrs_canvas = new MohrPrincipalStrsCanvas( driver );
081    
082      JPanel p_circle= new JPanel();
083      p_circle.setLayout( new BorderLayout() );
084      p_circle.add( circle_canvas );
085      p_circle.setBorder( BorderFactory.createEtchedBorder() );
086    
087      JPanel p_statestrs = new JPanel();
088      p_statestrs.setLayout( new BorderLayout() );
089      p_statestrs.add( "Center", statestrs_canvas );
090      p_statestrs.add( "South", statestrs );
091      p_statestrs.setBorder( BorderFactory.createEtchedBorder() );
092    
093      JPanel p_thetastrs = new JPanel();
094      p_thetastrs.setLayout( new BorderLayout() );
095      p_thetastrs.add( "Center", thetastrs_canvas );
096      p_thetastrs.add( "South", thetastrs );
097      p_thetastrs.setBorder( BorderFactory.createEtchedBorder() );
098    
099      JPanel p_principalstrs = new JPanel();
100      p_principalstrs.setLayout( new BorderLayout() );
101      p_principalstrs.add( "Center", principalstrs_canvas );
102      p_principalstrs.add( "South", principalstrs );
103      p_principalstrs.setBorder( BorderFactory.createEtchedBorder() );
104    
105      JPanel p_control = new JPanel();
106      p_control.setLayout( new GridLayout( 0, 1 ) );
107      p_control.add( p_statestrs );
108      p_control.add( p_thetastrs );
109      p_control.add( p_principalstrs );
110    
111      setLayout( new BorderLayout() );
112      add( "North", controls );
113      add( "Center", p_circle );
114      add( "East", p_control );
115    
116      if( ! is_portuguese )
117      {
118       controls.setEnglish( true );
119       setEnglish( );
120      }
121     }
122    
123     MohrPanel( )
124     {
125      this( null, true );
126     }
127    
128     MohrPanel( boolean is_portuguese )
129     {
130      this( null, is_portuguese );
131     }
132    
133    /*=============================  setPortuguese  ============================*/
134      
135     public void setPortuguese( )
136     {
137      statestrs.setPortuguese();
138      thetastrs.setPortuguese();
139      principalstrs.setPortuguese();
140     }
141    
142    /*=============================  setEnglish  ============================*/
143      
144     public void setEnglish( )
145     {
146      statestrs.setEnglish();
147      thetastrs.setEnglish();
148      principalstrs.setEnglish();
149     }
150    
151    }
152