home *** CD-ROM | disk | FTP | other *** search
- import java.applet.Applet;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Dimension;
- import java.awt.Event;
- import java.awt.FontMetrics;
- import java.awt.Frame;
- import java.awt.Graphics;
- import java.awt.Insets;
- import java.awt.Menu;
- import java.awt.MenuBar;
- import java.awt.MenuItem;
-
- class TestFrame extends Frame {
- private Applet m_appletParent;
- private MenuBar m_MenuBar;
- private Object m_objSelected;
-
- TestFrame(Applet appletParent) {
- super("Test Frame");
- this.m_appletParent = appletParent;
- this.m_MenuBar = new MenuBar();
- Menu menuFile = new Menu("File");
- menuFile.add(new MenuItem("Open"));
- menuFile.add(new MenuItem("Close"));
- this.m_MenuBar.add(menuFile);
- Menu menuEdit = new Menu("Edit");
- menuEdit.add(new MenuItem("Copy"));
- menuEdit.add(new MenuItem("Cut"));
- menuEdit.add(new MenuItem("Paste"));
- this.m_MenuBar.add(menuEdit);
- ((Frame)this).setMenuBar(this.m_MenuBar);
- }
-
- public boolean action(Event event, Object o) {
- this.m_objSelected = o;
- ((Component)this).repaint();
- if (this.m_appletParent != null) {
- this.m_appletParent.action(event, o);
- }
-
- return true;
- }
-
- public void paint(Graphics g) {
- String s;
- if (this.m_objSelected == null) {
- s = "No menu item selected";
- } else {
- s = "You selected " + this.m_objSelected.toString();
- }
-
- Dimension dimWin = ((Component)this).size();
- Insets insFrame = ((Container)this).insets();
- int nWinWidth = dimWin.width - (insFrame.left + insFrame.right);
- int nWinHeight = dimWin.height - (insFrame.top + insFrame.bottom);
- FontMetrics fm = ((Component)this).getFontMetrics(((Component)this).getFont());
- int nStringHeight = fm.getHeight();
- int nStringWidth = fm.stringWidth(s);
- int nLeftOffset = (nWinWidth - nStringWidth) / 2;
- int nTopOffset = (nWinHeight + nStringHeight) / 2;
- g.drawString(s, nLeftOffset, nTopOffset);
- g.drawRect(0, 0, nWinWidth - 1, nWinHeight - 1);
- }
- }
-