JTextArea上如何添加监听
我把JTextArea设置成不可编辑的状态,然后希望的是添加个鼠标事件监听,使得再JTextArea里面双击就可以输入,而在JTextArea外面单击的话就可以还原,重新...
我把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)的方法.但是textArea_day[i]无法在监听里面使用,这个怎么解决? 展开
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)的方法.但是textArea_day[i]无法在监听里面使用,这个怎么解决? 展开
展开全部
邮箱: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!");
}
}
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!");
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家可靠的代理服务提供商,提供原生IP(住宅原生IP)和高匿名代理服务。以下是关于StormProxies的原生IP服务的一些信息:1. 住宅原生IP:StormProxies提供的住宅原生IP是指从真实的家庭或企...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询