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
56
57
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 }