Оглавление

Окна и диалоговые панели
Окна класса Frame
Меню MenuBar
Класс Menu
Класс MenuItem
Диалоговые панели
Приложение MenuApp
Исходный текст
Описание текста

    Исходный текст приложения MenuApp

    Исходный текст приложения MenuApp представлен в листинге 1.

    Листинг 1. Файл MenuApp.java

    import java.awt.*;
    public class MenuApp
    {
      public static void main(String args[])
      {
        MainFrameWnd frame = 
          new MainFrameWnd("MenuApp");
        frame.setSize(
        frame.getInsets().left +
          frame.getInsets().right  + 320,
          frame.getInsets().top  +
          frame.getInsets().bottom + 240); 
        frame.show();
      }
    }
    class MainFrameWnd extends Frame
    {
      MenuBar mbMainMenuBar;
      Menu mnFile;
      Menu mnHelp;
      public MainFrameWnd(String sTitle)
      {
        super(sTitle);    
        setSize(400, 200);
        setBackground(Color.yellow);
        setForeground(Color.black);
        setLayout(new FlowLayout());
        mbMainMenuBar = new MenuBar();
        mnFile = new Menu("File");
        mnFile.add("New");
        mnFile.add("-");
        mnFile.add("Exit");
        mnHelp = new Menu("Help"); 
        mnHelp.add("Content");
        mnHelp.add("-");
        mnHelp.add("About");
        mbMainMenuBar.add(mnFile);
        mbMainMenuBar.add(mnHelp);
        setMenuBar(mbMainMenuBar);
      }
      public void paint(Graphics g)
      {
        g.setFont(new Font(
          "Helvetica", Font.PLAIN, 12));
        g.drawString("Frame window", 10, 70);
        super.paint(g);
      }
      public boolean handleEvent(Event evt)
      {
        if(evt.id == Event.WINDOW_DESTROY)
        {
          setVisible(false);
          System.exit(0);
          return true;
        }
        else
          return super.handleEvent(evt);
      }
      public boolean action(Event evt, Object obj)
      {
        MenuItem mnItem;
        if(evt.target instanceof MenuItem)
        {
          mnItem = (MenuItem)evt.target;
          if(obj.equals("Exit"))
          {
            System.exit(0);
          }
          else if(obj.equals("New"))
          {
            MessageBox mbox;
            mbox = new MessageBox(
              "Item New selected",
              this, "Dialog from Frame", true);
            mbox.show();
          }
          else if(obj.equals("Content"))
          {
            MessageBox mbox;
            mbox = new MessageBox(
              "Item Content selected",
              this, "Dialog from Frame", true);
            mbox.show();
          }
          else if(obj.equals("About"))
          {
            MessageBox mbox;
            mbox = new MessageBox(
              "Item About selected",
              this, "Dialog from Frame", true);
            mbox.show();
          }
          else
            return false;
          return true;
        }
        return false;
      }
    }
    class MessageBox extends Dialog
    {
      Label lbMsg;
      Button btnOK;
      public MessageBox(String sMsg, 
        Frame  parent, String  sTitle,
        boolean  modal)
      {
        super(parent, sTitle, modal);
        resize(200, 100);
        setLayout(new GridLayout(2, 1));
        lbMsg = new Label(sMsg, Label.CENTER);
        add(lbMsg);
        btnOK = new Button("OK");
        add(btnOK);
      }
      public boolean handleEvent(Event evt)
      {
        if(evt.id == Event.WINDOW_DESTROY)
        {
          dispose();
          return true;
        }
        else
          return super.handleEvent(evt);
      }
      public boolean action(Event evt, Object obj)
      {
        Button btn;
        if(evt.target instanceof Button)
        {
          btn = (Button)evt.target;
          if(evt.target.equals(btnOK))
          {
            dispose();
          }
          else
            return false;
          return true;
        }
        return false;
      }
    }


Java | Продукты и решения | Технологии | Сервис и обучение
О компании | Партнеры | Новости | Поиск
Sun Microsystems Inc. Corporate Information Our partners News and Events Search on site Java Computing Products and Solutions Technologies and Researches Education and Service Content



Сайт создан в системе uCoz