[英]How to Send across variables when using mouse listener in java
This is my code: 这是我的代码:
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]);
}
i am unsure how to fix this issue as i am not very experienced with event driven programming 我不确定如何解决此问题,因为我对事件驱动的编程不太熟悉
This is a simple workaround: 这是一个简单的解决方法:
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.