关于JTextArea在一个循环中,如何使用鼠标事件监听的问题
 悬赏分:5 - 离问题结束还有 17 天 23 小时 
for (int i = 0; i < 42; i++) {
textArea_day[i] = new JTextArea(4,8);
textArea_day[i].setEditable(false);
textArea_day[i].setLineWrap(true);
JScrollPane scrollPane = new JScrollPane(textArea_day[i]);
panel_day.add(scrollPane);}
上面的代码是我写的一个6X7表格形式的东西,每个格子都是一个JTextArea,可以进行输入之类,我想的是在FOR的循环中,给每个JTextArea加个鼠标监听,当鼠标在该JTextArea中双击就可以变成可输入的状态。所以我是这么写的:textArea_day[i].addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) {
 }}}当我在IF中使用textArea_day[i].setEditable(true)的时候,提示前面的【】中的i不能使用,因为在监听是传不进来,那应该怎么做??
还有个问题就是,在addMouseListener中我想进行鼠标进入和离开该JTextArea的事件,应该怎么写? 
人在线,大家帮帮忙啊,第一次做这东西!

解决方案 »

  1.   

    提示前面的【】中的i不能使用这个因为i只是个for循环的临时变量,你这样使用应该编译都不能通过吧
      

  2.   

    就是直接报错了,都不用编译。那怎么在监听的里面设置FOR里面的某个点击到的那个格子变成可编辑的文本区呢?
      

  3.   

    我知道一个笨办法,你加相应时不要用匿名类,单独写一个类从鼠标适配器类继承。给这个新的类一个int型变量,从构造函数给这个int变量赋值。在添加消息相应的时候就可以把i经构造函数传进来了