| Форум| Гостевая| Ссылки| Программы| Исходные тексты| Наши партнеры|
   
| Главная| Рассылки| Услуги| Библиотека| Новости| Авторам| Программистам| Студентам|
delphi c++ assembler
 

Оглавление

Окна и диалоговые панели
Окна класса 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

Rambler's Top100 Rambler's Top100

©  Adept Design Studio

Используются технологии uCoz