2017-02-16 38 views
0

使用鼠標監聽當跨過變量發送這是我的代碼:如何用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]); 
    } 

我不確定如何解決這個問題,因爲我不是很具有事件驅動編程

+0

您是否嘗試使'_CreatePlayers最終? – vikingsteve

+0

是的問題是與'我' –

回答

0

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

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(""); 
      } 
     }); 
    }