【问题标题】:java swing checkboxes java swingjava swing 复选框 java swing
【发布时间】:2023-04-08 06:31:01
【问题描述】:

我对我的 java 应用程序有疑问。 我在 java swing 上创建了一个骰子角色游戏,为每个骰子创建了单独的对象,每次单击抛出按钮时都会在我的框架上显示不同的骰子编号,每次都出现 jcheckboxes 问题。 我希望当复选框被选中时,骰子将保持该数字并且不会改变。

我是这样尝试的:

if(ch1.isSelected() == true){  
    ch1.setSelected(true);
    Die[0].setValue(0);     
}

ch1 是我希望始终选中的复选框,并保持值 0,但是当按下按钮时,它仍然为该骰子提供一个随机数。

也许你知道如何让复选框始终处于选中状态?

【问题讨论】:

  • 您可以执行 ch1.s​​etEnabled(false) 使其不可切换..但这不会破坏复选框的用途吗?
  • 考虑提供一个runnable example 来证明您的问题。这不是代码转储,而是您正在做的事情的一个例子,它突出了您遇到的问题。这将减少混乱并获得更好的响应

标签: java swing checkbox


【解决方案1】:

试试这个:

private void ch1MouseClicked(java.awt.event.MouseEvent evt) {                                        
    Die[0].setValue(0);
}  

【讨论】:

  • 我在动作侦听器类中的方法中拥有所有内容,但它不能那样工作
  • 我自己也刚测试过,看来be working
  • 请简要告诉我它的作用,我不想为了创建一个新类而使用相同的值
  • 什么意思...你不需要一个新的类,只需要重写你的actionListener...也许提供更多代码让我们帮助你?
  • 我在回答中发布了一些内容
【解决方案2】:

这个方法在动作监听器中,我有我的对象,但不能从哪里访问它们

public void myDices() {

    Die[] Die = new Die[10];
    Die[0] = new Die();
    Die[1] = new Die();
    Die[2] = new Die();
    Die[3] = new Die();
    Die[4] = new Die();
    Die[5] = new Die();
    Die[6] = new Die();
    Die[7] = new Die();
    Die[8] = new Die();
    Die[9] = new Die();

    diceClass.roll(Die);
    diceClass.display(Die);

【讨论】:

    【解决方案3】:

    创建一个骰子对象:

    public class Dice {
    
    private boolean canRoll;
    private int value;
    
    public Dice() {
        canRoll = false;
        value = 0;
    }
    
    public int roll()
    {
        if(canRoll) {
            // Roll the dice!
            value = /* Roll algorithem */;
        }
        return value;
    }
    
    public void setCanRoll(boolean k)
    {
    this.canRoll = k;
    }
    
    }
    

    比创建一个骰子对象数组。您可以使用 setCanRoll(boolean k) 方法设置 canRoll 布尔值。掷骰子并将输出打印到屏幕上。

    如果这不是你的意思,那就是:ch1.s​​etEditable(false);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-06
      • 1970-01-01
      相关资源
      最近更新 更多