Package main

Source Code of main.BTMIDlet

package main;

import gui.MultiplayerSelection;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.List;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

/**
* Klasa uruchomienowa MIDletu. Pokazuje menu glowne aplikacji.
* @author TeXteR and Kazorx
*/
public class BTMIDlet extends MIDlet implements CommandListener {

    //private final Command selectCommand;
    private final Command exitCommand;
    /**
     * Reprezentuje ekran na ktorym mozemy pokazywac obiekty typu displayable
     */
    private Display display;
    private List menuList;
    private MultiplayerSelection multiplayerSelection;

    public BTMIDlet() {
        //selectCommand = new Command("Select", Command.SCREEN, 1);
        exitCommand = new Command("Exit", Command.EXIT, 1);

        menuList = new List("Menu", List.IMPLICIT);
        menuList.append("Wyszukaj urzadzenia", null);
        menuList.append("Wyjście", null);
        multiplayerSelection = new MultiplayerSelection(this);

        //menuList.addCommand(selectCommand);
        menuList.addCommand(exitCommand);
        menuList.setCommandListener(this);
    }

    protected void startApp() throws MIDletStateChangeException {
        display = Display.getDisplay(this);
        display.setCurrent(menuList);
    }

    protected void pauseApp() {
        notifyPaused();
    }

    protected void destroyApp(boolean unconditional) throws MIDletStateChangeException {
    }

    /**
     * Metoda zajmuje sie wychodzeniem z MIDletu. Duze ulatwienie. Nie trzeba pamietac o notifyDestroyed()
     */
    public void exit() {
        try {
            destroyApp(false);
        } catch (MIDletStateChangeException ex) {
            System.out.println(ex.getMessage());
        }
        notifyDestroyed();
    }

    /**
     * Zwraca display dla MIDletu
     * @return
     */
    public Display getDisplay() {
        return display;
    }

    public void showMenu() {
        display.setCurrent(menuList);
    }

    public void commandAction(Command c, Displayable d) {
        // Pobieramy indeks zaznaczonej pozycji na liscie
        int selectedIndex = menuList.getSelectedIndex();

        // Jesli padla komenda exitCommand wychodzimy
        if (c.equals(exitCommand)) {
            exit();
        } else if (c.getCommandType() == 1) { // Nie mam pojecia dlaczego tylko tak da sie obsluzc przycisk na srodku. Niby SCREEN ma wartosc commandType 1 ale nie dziala
            // Pobieramy napis znajdujacy sie pod wskazanym indeksem.
            // Jesli wyszukaj urzadzenia, pokaz ekran wyboru trybu polaczenia
            if (menuList.getString(selectedIndex).equals("Wyszukaj urzadzenia")) {
                display.setCurrent(multiplayerSelection);
            }

            // Pobieramy napis znajdujacy sie pod wskazanym indeksem. Jesli wyjscie to wychodzimy.
            if (menuList.getString(selectedIndex).equals("Wyjście")) {
                exit();
            }
        }
    }
}
TOP

Related Classes of main.BTMIDlet

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.