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