JLabel没有使用If Else进行更新

时间:2015-03-13 01:18:47

标签: java swing jlabel

我正在尝试创建JLabel,以便在拼字游戏中显示商店中的购物车。当购物车为空时,它应显示为“#34;购物车是空的。”#34;并且当它不是它应该列出列表中的内容。以下是我用来执行此操作的代码。

public void reset(){
        removeAll();
    }

public void update(){
    reset();

    JLabel cartHeader = new JLabel("<html><br><b>Current Player's Tile Cart</b></html>", JLabel.CENTER);
    add(cartHeader);

    ArrayList<SpecialTile> tileCart = gameStore.getTileCart();

    if(tileCart.size() == 0){
        JLabel emptyCart = new JLabel("<html><br><br>Cart is currently empty.</html>", JLabel.CENTER);
        add(emptyCart);
    }else{
        System.out.println("tileCart size: "+tileCart.size());
        for(SpecialTile currentTile : tileCart){
            JLabel tileLabel = new JLabel("", JLabel.CENTER);
            if(currentTile.getClass().equals(BoomTile.class)){
                tileLabel.setText("BoomTile - "+exampleBoom.tilePrice());
            }else if(currentTile.getClass().equals(ReverseOrder.class)){
                tileLabel.setText("ReverseOrderTile - "+exampleReverse.tilePrice());
            }else if(currentTile.getClass().equals(NegativePoints.class)){
                tileLabel.setText("NegativePointsTile - "+exampleNegative.tilePrice());
            }else if(currentTile.getClass().equals(PersonalTile.class)){
                tileLabel.setText("ShareTile - "+exampleShare.tilePrice());
            }else if(currentTile.getClass().equals(UnknownTile.class)){
                tileLabel.setText("UnknownTile - "+exampleUnknown.tilePrice());
            }
            add(tileLabel);
        }
    }

    JButton purchaseButton = new JButton("Purchase");
    add(purchaseButton);
}

我遇到的问题是,不是用购物车中的不同瓷砖替换文字,而是总是看到购物车是空的。

这基本上是发生的事情:http://i.imgur.com/Rn2gMUM.png

0 个答案:

没有答案