Obliczenia brydżowe (Java ME)
Jacek Kowalski
2012-08-08 fb3d21dd264151dce808d7698ee0d8a28d6f227e
src/brydz/BrydzForm.java
@@ -4,7 +4,8 @@
public class BrydzForm extends Form implements CommandListener, ItemStateListener {
    protected BrydzMIDlet midlet;
    protected BrydzMenu menu = null;
    protected BrydzPomocForm help = null;
    protected BrydzPomocForm about = null;
    
    protected TextField kontraktField;
    protected ChoiceGroup kontraktChoice;
@@ -53,29 +54,45 @@
        this.append(this.resultText);
        
        this.addCommand(new Command("Wyczyść", Command.BACK, 1));
        this.addCommand(new Command("Menu", Command.OK, 1));
        this.addCommand(new Command("Pomoc", Command.HELP, 2));
        this.addCommand(new Command("O programie", Command.HELP, 3));
        this.addCommand(new Command("Wyjście", Command.EXIT, 4));
        
        this.setItemStateListener(this);
        this.setCommandListener(this);
    }
    
    public void commandAction(Command command, Displayable displayable) {
        if (command.getCommandType() == Command.BACK) {
            this.kontraktField.setString(null);
            this.kontraktChoice.setSelectedIndex(0, true);
            this.kontraChoice.setSelectedIndex(0, true);
            this.partiaChoice.setSelectedIndex(0, true);
            this.punktyField.setString(null);
            this.lewyField.setString(null);
            this.resultText.setText("Podaj wszystkie dane.");
            this.midlet.display.setCurrentItem(this.kontraktField);
        }
        else if (command.getCommandType() == Command.OK) {
            if(this.menu == null) {
                this.menu = new BrydzMenu(this.midlet, this);
            }
            this.midlet.display.setCurrent(this.menu);
        switch(command.getCommandType()) {
            case Command.EXIT:
                this.midlet.destroyApp(true);
            break;
            case Command.CANCEL:
            case Command.BACK:
                this.kontraktField.setString(null);
                this.kontraktChoice.setSelectedIndex(0, true);
                this.kontraChoice.setSelectedIndex(0, true);
                this.partiaChoice.setSelectedIndex(0, true);
                this.punktyField.setString(null);
                this.lewyField.setString(null);
                this.resultText.setText("Podaj wszystkie dane.");
                this.midlet.display.setCurrentItem(this.kontraktField);
            break;
            case Command.HELP:
                if(command.getPriority() == 2) {
                    if(this.help == null) {
                        this.help = new BrydzPomocForm(this.midlet, this, false);
                    }
                    this.midlet.display.setCurrent(this.help);
                }
                else if(command.getPriority() == 3) {
                    if(this.about == null) {
                        this.about = new BrydzPomocForm(this.midlet, this, true);
                    }
                    this.midlet.display.setCurrent(this.about);
                }
            break;
        }
    }