簡體   English   中英

在Java中使用鼠標偵聽器時如何跨變量發送

[英]How to Send across variables when using mouse listener in java

這是我的代碼:

JTextField[] _CreatePlayers = new JTextField[3];
    for (int i = 1; i < _CreatePlayers.length; i++) {
        _CreatePlayers[i] = new JTextField("Player " + i+" input name here");
        _CreatePlayers[i].addMouseListener(new MouseAdapter(){
        @Override
        public void mouseClicked(MouseEvent e){
            _CreatePlayers[i].setText("");  <- error is here as i is not inside the class made by mouse click
        }
    });
        _2Player.add(_CreatePlayers[i]);
    }

我不確定如何解決此問題,因為我對事件驅動的編程不太熟悉

這是一個簡單的解決方法:

    for (int i = 1; i < _CreatePlayers.length; i++) {
        final int finalI = i;
        _CreatePlayers[i] = new JTextField("Player " + i+" input name here");
        _CreatePlayers[i].addMouseListener(new MouseAdapter(){
            @Override
            public void mouseClicked(MouseEvent e){
                _CreatePlayers[finalI].setText("");
            }
        });
    }

暫無
暫無

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

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