[英]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]))
}
}
}
}
不兼容的類型!
您的定義:
// this expects an argument of type JToggleButton public void setDie1(JToggleButton die1) { this.die1 = die1; }
您的通話說明:
uI.setDie1(String.valueof(randomDiceArrayNumber[0])); // this is trying to pass a String to the method setDie1
相反,類似這樣的東西(只需更正語法)應該可以工作:
uI.setDie1(new JToggleButton(String.valueof(randomDiceArrayNumber[0])));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.