View Javadoc

1   
2   package org.xrn.gui;
3   
4   import java.awt.BorderLayout;
5   import java.awt.Dimension;
6   import java.awt.Font;
7   import java.awt.Toolkit;
8   
9   import javax.swing.BorderFactory;
10  import javax.swing.JFrame;
11  import javax.swing.JPanel;
12  
13  /***
14   * 
15   * Main window of application
16   * @author Carsten Maneg
17   * Date Nov 7, 2004
18   * Time 5:41:18 PM
19   */
20  public class XRNMainWindow extends JFrame{
21      private int x0 = 20;
22      private int y0 = 20;
23      private int windowHeight;
24      private int windowWidth;
25      private Dimension windowDimension;
26    
27      private XRNMenuBar menuBar;
28    
29      private Font fontType;
30      private JPanel oberer_Bereich;
31      private JPanel helpF = null;
32      private JPanel releaseNotesWindow = null;
33      private InformationPanel informationBar;
34  
35      private static final String HEADLINE = "XMLReleaseNotes v0.20";
36    
37      /***
38       * Constructor
39       *
40       */  
41      public XRNMainWindow( ){
42          super( HEADLINE );
43          fontType = new Font( "Dialog", Font.BOLD, 12 );
44          setLocation(0,0);
45          windowHeight = (int)Toolkit.getDefaultToolkit().getScreenSize().getHeight();
46          windowWidth = (int)Toolkit.getDefaultToolkit().getScreenSize().getWidth();
47          windowDimension = new Dimension( windowWidth, windowHeight-100 );
48          setSize( windowDimension );
49          setResizable( true );
50          setVisible( true );
51          
52          addWindowListener( new MyWindowAdapter() );
53         
54      
55      /*dbToolMB = new SPSTool_MB( this );
56      dbToolMB.setBorder( BorderFactory.createEtchedBorder() );
57      setJMenuBar( dbToolMB );*/
58      
59          oberer_Bereich = new JPanel();
60          oberer_Bereich.setBorder( BorderFactory.createEtchedBorder() );
61          getContentPane().add( oberer_Bereich, BorderLayout.CENTER );
62      
63          menuBar = new XRNMenuBar( this );
64          menuBar.setBorder( BorderFactory.createEtchedBorder() );
65          setJMenuBar( menuBar );
66          
67          informationBar = new InformationPanel( windowWidth );
68          informationBar.setPreferredSize( new Dimension( 500, 25 ) );
69          getContentPane().add( informationBar, BorderLayout.SOUTH );
70      
71          show();    
72      }
73    
74    /***
75     * Returns the menu bar
76     * @return
77     */
78    public XRNMenuBar getXRNMenuBar()
79    {
80    	return menuBar;
81    }
82    
83    /***
84     * Sets the Panel in the working area
85     * @param neu
86     * @param wert
87     */
88    public void setBereich( JPanel neu, boolean wert ){
89    	if( wert == false ){
90    		if( helpF != null )
91    			helpF.setVisible( false );
92    		oberer_Bereich.setVisible( true );
93    	}
94    	else if( neu instanceof ReleaseNotesWindow ){
95    		oberer_Bereich.setVisible( false );
96    		if( (helpF != null) && (helpF.isVisible() ) ){
97    			helpF.setVisible( false );
98    			getContentPane().remove( helpF );
99    		}
100   		if( releaseNotesWindow != null ){
101   		    releaseNotesWindow.setVisible( false );
102 			getContentPane().remove( releaseNotesWindow );
103 			releaseNotesWindow = null;
104 		}  		    
105   		if( releaseNotesWindow == null )
106   		    releaseNotesWindow = neu;
107   		getContentPane().add( releaseNotesWindow, BorderLayout.CENTER );
108   		releaseNotesWindow.setVisible( true );
109   	}
110   	else if( neu instanceof HelpWindow )
111   	{
112   		oberer_Bereich.setVisible( false );
113   		if( (releaseNotesWindow != null) && (releaseNotesWindow.isVisible() ) ){
114   		  releaseNotesWindow.setVisible( false );
115   			getContentPane().remove( releaseNotesWindow );
116   			releaseNotesWindow = null;
117   		}
118   		if( helpF == null ){
119   			helpF = neu;
120   		}
121   		getContentPane().add( helpF, BorderLayout.CENTER );
122   		helpF.setVisible( true );
123   	}
124   }
125 
126   /***
127    * Returns the information bar
128    * @return
129    */
130   public InformationPanel getInformationBar()
131   {
132   	return informationBar;
133   }
134 }