Java me 表组件在lwuit中不工作?

Java me 表组件在lwuit中不工作?,java-me,combobox,lwuit,Java Me,Combobox,Lwuit,我想在从组合框中选择值后显示表格。第一次选择之后,它将在UI中再添加两个表。 有人能说怎么解决这个问题吗 代码如下: package com.onmo.classes; import java.io.IOException; import com.sun.lwuit.Button; import com.sun.lwuit.ComboBox; import com.sun.lwuit.Command; import com.sun.lwuit.Component; import com.su

我想在从组合框中选择值后显示表格。第一次选择之后,它将在UI中再添加两个表。
有人能说怎么解决这个问题吗

代码如下:

package com.onmo.classes;

import java.io.IOException;

import com.sun.lwuit.Button;
import com.sun.lwuit.ComboBox;
import com.sun.lwuit.Command;
import com.sun.lwuit.Component;
import com.sun.lwuit.Container;
import com.sun.lwuit.Form;
import com.sun.lwuit.Image;
import com.sun.lwuit.Label;
import com.sun.lwuit.TabbedPane;
import com.sun.lwuit.events.ActionEvent;
import com.sun.lwuit.events.ActionListener;
import com.sun.lwuit.events.SelectionListener;
import com.sun.lwuit.layouts.BorderLayout;
import com.sun.lwuit.layouts.BoxLayout;
import com.sun.lwuit.layouts.FlowLayout;
import com.sun.lwuit.plaf.UIManager;
import com.sun.lwuit.table.DefaultTableModel;
import com.sun.lwuit.table.Table;
import com.sun.lwuit.table.TableModel;
import com.sun.lwuit.util.Resources;

public class CompareScreen implements ActionListener, SelectionListener {

    private Command enterCmd;
    private Command backCmd;
    private Command exitCmd;
    private Form comparePage;
    private Label lblLeagues, lblTeam;
    private Button btnTeams, btnPlayers;
    private FlowLayout flowLayout;
    private ComboBox comboTeamA, comboTeamB, comboTeamC, comboTeamD, player1,
            player2;
    private Image firstTeamImage, secondTeamImage = null;
    private Container teamsContainer, teamCombo, teamImages, playersTeamTab,
            playersContainer, playersTab, playerImages;

    int count = 0;
    CompareScreen(){
        enterCmd = new Command("Select");
        backCmd = new Command("Back");
        exitCmd = new Command("Exit");
    }
    public void displayCompareScreen() {
        comparePage = new Form();
        // comparePage.getStyle().setBgColor(0xaa00ff);

        String[] teamA = { "Team A", "Villarreal", "Violent Vegans",
                "Venom XI", "Betis" };
        String[] teamB = { "Team B", "Villarreal", "Violent Vegans",
                "Venom XI", "Betis" };
        String[] playerList1 = { "Player1", "Acho, Sam", "Adams, Mike",
                "Ajirotutu, Seyi", "Abel Gomez" };
        String[] playerList2 = { "Player2", "Acho, Sam", "Adams, Mike",
                "Ajirotutu, Seyi", "Abel Gomez" };

        comparePage.addCommand(backCmd);
        comparePage.addCommandListener(this);
        lblLeagues = new Label("Premier League");
        lblTeam = new Label("Team");

        btnTeams = new Button("Teams");
        btnPlayers = new Button("Players");

        comboTeamA = new ComboBox(teamA);
        comboTeamB = new ComboBox(teamB);
        comboTeamC = new ComboBox(teamA);
        comboTeamD = new ComboBox(teamB);
        player1 = new ComboBox(playerList1);
        player2 = new ComboBox(playerList2);

        comparePage.setLayout(new BorderLayout());
        comparePage
                .addComponent(BorderLayout.WEST, new Label("Premier League"));
        comparePage.addComponent(BorderLayout.EAST, new Label("Compare"));

        flowLayout = new FlowLayout();
        comparePage.setLayout(flowLayout);

        try {
            Resources r = Resources.open("/theme/javathema.res");
            UIManager.getInstance().setThemeProps(r.getTheme("javathema"));
        } catch (IOException ioe) {
            System.out.println("Couldn't load theme.");
        }

        try {
            firstTeamImage = Image.createImage("/team1.png");
            secondTeamImage = Image.createImage("/team2.png");

        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        Label lblFirstTeam = new Label(firstTeamImage);
        lblFirstTeam.setAlignment(Component.LEFT);

        Label lblSecondTeam = new Label(secondTeamImage);
        lblSecondTeam.setAlignment(Component.RIGHT);

        Label lblFirstPlayer = new Label(firstTeamImage);
        lblFirstTeam.setAlignment(Component.LEFT);

        Label lblSecondPlayer = new Label(secondTeamImage);
        lblSecondTeam.setAlignment(Component.RIGHT);

        teamsContainer = new Container(new BoxLayout(BoxLayout.Y_AXIS));

        teamCombo = new Container(new BoxLayout(BoxLayout.X_AXIS));
        teamCombo.addComponent(comboTeamA);
        teamCombo.addComponent(comboTeamB);

        teamImages = new Container(new BoxLayout(BoxLayout.X_AXIS));
        teamImages.addComponent(lblFirstTeam);
        teamImages.addComponent(lblSecondTeam);

        teamsContainer.addComponent(teamCombo);
        teamsContainer.addComponent(teamImages);

        playersTeamTab = new Container(new BoxLayout(BoxLayout.X_AXIS));
        playersTeamTab.addComponent(comboTeamC);
        playersTeamTab.addComponent(comboTeamD);

        playersTab = new Container(new BoxLayout(BoxLayout.X_AXIS));
        playersTab.addComponent(player1);
        playersTab.addComponent(player2);

        playerImages = new Container(new BoxLayout(BoxLayout.X_AXIS));
        playerImages.addComponent(lblFirstPlayer);
        playerImages.addComponent(lblSecondPlayer);

        playersContainer = new Container(new BoxLayout(BoxLayout.Y_AXIS));
        playersContainer.addComponent(playersTeamTab);
        playersContainer.addComponent(playersTab);
        playersContainer.addComponent(playerImages);

        TabbedPane tabbedPane = new TabbedPane(TabbedPane.TOP);
        tabbedPane.addTab("Teams", teamsContainer);
        tabbedPane.addTab("Players", playersContainer);

        // comboTeamA.addSelectionListener(this);
        comboTeamB.addSelectionListener(this);
        // comboTeamC.addSelectionListener(this);
        comboTeamD.addSelectionListener(this);

        // comboTeamA.addActionListener(this);

        comparePage.addComponent(tabbedPane);
        comparePage.show();

    }

    public void selectionChanged(int arg0, int arg1) {
        // TODO Auto-generated method stub
        System.out.println("Before  :" + count);
        Table tableTeam = null, tablePlayer = null;
        if (comboTeamA.getSelectedIndex() != 0 && comboTeamB.getSelectedIndex() != 0 && comboTeamC.getSelectedIndex() == 0 && comboTeamD.getSelectedIndex() == 0) {

            TableModel model = new DefaultTableModel(new String[] { "10 ",
                    "Games Played", "10" }, new Object[][] {
                    { "7 ", "Wins", " 6" }, { "2 ", "Draws", " 1" },
                    { "1 ", "Defeats", " 1" }, { "10 ", "Goals for", " 8" }, });

            tableTeam = new Table(model);
            if (count == 1) {
                teamsContainer.addComponent(tableTeam);
                count = 0;
            }

            count = count + 1;
            System.out.println("On  :" + count);
        }

        if (comboTeamA.getSelectedIndex() == 0 && comboTeamB.getSelectedIndex() == 0 && comboTeamC.getSelectedIndex() != 0 && comboTeamD.getSelectedIndex() != 0) {

            TableModel model = new DefaultTableModel(new String[] { "10 ",
                    "Games Played", "10" }, new Object[][] {
                    { "260 ", "Minutes Played", " 280" },
                    { "240 ", "Starts", " 230" },
                    { "20 ", "Substitute", " 30" },
                    { "6 ", "Goals for", " 9" }, });

            tablePlayer = new Table(model);
            if (count == 1) {
                playersContainer.addComponent(tablePlayer);
                count = 0;
            }
            count = count + 1;
            System.out.println("On  :" + count);
        }
        /*
         * if(tableTeam != null && tablePlayer != null) {
         * teamsContainer.removeComponent(tableTeam);
         * playersContainer.removeComponent(tablePlayer); }
         */
        System.out.println("After  :" + count);
    }


    public void actionPerformed(ActionEvent arg0) {
        // TODO Auto-generated method stub
        HomePage homePageObj=HomePage.getInstance();
        homePageObj.displayHomePage();
    }

}

问题在于以下代码:

public void selectionChanged(int arg0, int arg1) {
...
tableTeam = new Table(model);
            if (count == 1) {
                teamsContainer.addComponent(tableTeam);
                count = 0;
            }

            count = count + 1;
...
}
此代码段意味着您每次从
组合框
中选择另一个值时,都会添加另一个
:不要
重置
“计数”为0