首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将带有值的mouseclicked中的标签引用到a。(Java、NetBeans)

如何将带有值的mouseclicked中的标签引用到a。(Java、NetBeans)
EN

Stack Overflow用户
提问于 2018-03-02 04:30:51
回答 1查看 37关注 0票数 0

https://imgur.com/a/26VvY

所以我一直在尝试用java编写这个老虎机游戏的程序,最近我遇到了一些问题,我试图解决这个问题。这个游戏的工作原理如下:每次你点击名为x1的标签,你就投资了1个比特币,并有更高的机会赢得1个比特币。点击label x3,你会得到一个中等的获胜机会(你赢得3个比特币),如果点击label x5,你赢得5个比特币的机会最低。单击这些标签将启用"GO WIN!“按钮,稍后您必须单击该按钮才能运行所有内容。目前,我对它的编程没有问题,使你只有一定的机会赢得1比特币,尽管其他两个标签是问题。有什么建议吗?

我知道jframe看起来很糟糕,尽管这只是我的练习:)

到目前为止的代码:

代码语言:javascript
复制
   // TODO add your handling code here:
    btnWinLose.setEnabled(false);
    int slot1 = (int)(4*Math.random()+0);
    int slot2 = (int)(4*Math.random()+0); 
    int slot3 = (int)(4*Math.random()+0);

    lbl_1.setText(String.valueOf(slot1));
    lbl_2.setText(String.valueOf(slot2));
    lbl_3.setText(String.valueOf(slot3));

    if(slot1 == slot2 ){
        start = start +1;
        lbl_Coin.setText(start + " COINS");
    }
    else{
    start = start - 1;
    lbl_Coin.setText(start + " COINS");
    }
    if(start == 0){
        int n = JOptionPane.showConfirmDialog(
                this, 
                "No coins left, start again?"+  
                JOptionPane.YES_NO_OPTION);
     if(n == 0){
         start=10;
         lbl_Coin.setText(String.valueOf(start + " COINS"));

     }
     else{
         System.exit(0);
     }
    }   
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-02 16:31:29

确定单击了哪个标签的一种方法是在每个标签上使用MouseListener。请参阅this question作为参考。因此,让您的GUI类实现MouseListener并执行以下操作:

代码语言:javascript
复制
public class myGUI extends JFrame implements ActionListener, MouseListener{

 private JLabel x1,x2,x3;

 public myGUI(){
   // do constructor stuff
   x1 = new JLabel("x1");
   x2 = new JLabel("x2");
   x3 = new JLabel("x3");

  x1.addMouseListener(this);
  x2.addMouseListener(this);
  x3.addMouseListener(this);

 }

  // other methods

  @Override
  public void mouseClicked(MouseEvent e) {
        if(e.getSource().equals(x1)){
          // do x1 stuff
        }
        else if(e.getSource().equals(x2)){
          // do x2 stuff
        }
        else if(e.getSource().equals(x3)){
          // do x3 stuff
        }

  }

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49058222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档