JTextArea上如何添加监听

来源:百度知道 编辑:UC知道 时间:2024/05/11 12:51:54
我把JTextArea设置成不可编辑的状态,然后希望的是添加个鼠标事件监听,使得再JTextArea里面双击就可以输入,而在JTextArea外面单击的话就可以还原,重新为不可编辑的状态了,应该怎么做?
for (int i = 0; i < 42; i++) {
textArea_day[i] = new JTextArea(4,8);
//textArea_day[i].setFont(font);
textArea_day[i].setEditable(false);//该多行文本框是否可以编辑
textArea_day[i].setLineWrap(true);//自动换行
int x = textArea_day[i].getX();
int y = textArea_day[i].getY();
textArea_day[i].addMouseListener(new MouseAdapter(){
public void mouseEntered(MouseEvent e) {
}
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) {
//textArea_day.setEditable(true);
JTextArea text = new JTextArea();
int x = e.getX();
int y = e.getY();
}
}
});
qdmmy6的答案是没错。但是我做的那个是个日历的软件,在显示日期的地方是个6X7的42的网格布局,需要的是每个日期的那个格子里双击的时候出现上面的事件,首先,我是在for的循环中,设置了.setEditable(false)的方法把该格设置成不可编辑的状态,接着,是加了个监听.addMouseListener,准备是在mouseClicked里面重新设置.setEditable(true

直接监听鼠标 但是要判断点击次数

记时器 两次点击中间间隔少于好多秒 执行

邮箱:qdmmy6@163.com
package com.qdmmy6.swingtest;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class JTextAreaTest {
public static void main(String[] args) {
JFrame f = new TextFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}

class TextFrame extends JFrame {
private JTextArea area = new JTextArea();

public TextFrame() {
this.init();
area.setEnabled(false);
JScrollPane pane = new JScrollPane(area);
this.add(pane);

area.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
area.setEnabled(e.getClickCount() >= 2);
}
});
}

private void init() {
this.setSize(500, 400);
this.setLocation(300, 200);
this.setTitle("TextArea Test!