簡體   English   中英

從另一個類更改值為Int的JButton文本

[英]Changing JButton text from another class with a value of Int

如果您能幫助我會很高興。 好的,我有2節課。 第一個是UI(GameJPanel)類,在該類中聲明了所有私有按鈕等。第二個類是gameEngine(GameMechanismPlayer),它生成要在JButton“ textFields”上設置的值。 gameEngine生成的值是Integers。 我試圖從第二個類更改按鈕文本,但我遇到錯誤。 我相信我應該使用UI類中的getter和setter。 你能幫我么..

public class GameJPanel extends JPanel 
{
    private static final long serialVersionUID = 1L;
    private JToggleButton die1, 
    private JButton rollDice;

    public GameJPanel()
    {
        //Dice Toggle Buttons       
        die1 = new JToggleButton("Die 1");
        die1.setBounds(300,350,70,25);
        add(die1);
        //Roll Dice
        rollDice = new JButton("Roll Dice");
        rollDice.setBounds(400,400,270,50);
        add(rollDice);

        rollDice.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                playGame.play();
            }       
        });
        setVisible(true); 
        setLayout(null);
        }

    public JToggleButton getDie1()
    {
        return die1;
    }

    public void setDie1(JToggleButton die1)
    {
        this.die1 = die1;
    }
}


public class GameMechanismPlayer
{
    private int[] randomDiceArrayNumber;
    private int dieIndexPosition;
    private Random randomDice;
    private boolean isPlayerOneTurn = true;
    GameJPanel uI = new GameJPanel();

    public GameMechanismPlayer()
    {
        play();     
    }

    public void play()
    {

        for(turn = 0 ; turn <= 3 || scoreSelected == true; turn++)
        {
            randomDice = new Random(); 
            randomDiceArrayNumber = new int [5];

            for(dieIndexPosition = 0; dieIndexPosition < randomDiceArrayNumber.length; dieIndexPosition++)
            {
                randomDiceArrayNumber[dieIndexPosition] = 1+randomDice.nextInt(6);
            }
            sumsMutipleByItsOwnNumber();

            if(isPlayerOneTurn = true)
            {
                //Here it is not working
                uI.setDie1(String.valueof(randomDiceArrayNumber[0]))
            }
        }
    }   
}

不兼容的類型!

  1. 您的定義:

     // this expects an argument of type JToggleButton public void setDie1(JToggleButton die1) { this.die1 = die1; } 
  2. 您的通話說明:

     uI.setDie1(String.valueof(randomDiceArrayNumber[0])); // this is trying to pass a String to the method setDie1 
  3. 相反,類似這樣的東西(只需更正語法)應該可以工作:

     uI.setDie1(new JToggleButton(String.valueof(randomDiceArrayNumber[0]))); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM