java关于MouseListener的问题

在JPanel里有一个JTextArea组件。我在JPanel添加MouseListener的mouseClicked方法,但是如果点到了JTextArea上面,就没反应... 在JPanel里有一个JTextArea组件。我在JPanel添加MouseListener的mouseClicked方法,但是如果点到了JTextArea上面,就没反应。怎么让子组件JTextArea也响应父组件JPanel的MouseListener? 展开
 我来答
百度网友253c4da
2013-10-15 · TA获得超过1.4万个赞
知道小有建树答主
回答量:134
采纳率:100%
帮助的人:70.2万
展开全部
楼上正解~

JPanel里面的JLabel就能响应父组件的方法是因为

JLabel是一个静态组件,该组件可以显示一行静态文本,一般只是一个说明性的文字,而不接受用户的输入,也无事件响应。
JLabel提供了如下方法用于构建JLabel对象
表8-6 JLabel构造方法

构造方法 说明
JLabel()
创建无图像并且其标题为空字符串的 JLabel类对象 JLabel(Icon image) 创建具有指定图像的 JLabel类对象
public JLabel(Icon image, int horizontalAlignment) 创建具有指定图像和水平对齐方式的 JLabe类对象 JLabel(String text)
创建具有指定文本的 JLabel类对象
JLabel(String text,Icon icon, int horizontalAlignment) 创建具有指定文本、图像和水平对齐方式的 JLabel类对象
JLabel(String text, int horizontalAlignment) 创建具有指定文本和水平对齐方式的 JLabel类对象
追问
但是我需要添加的是一大段文字,JLabel不能换行啊。
追答
这种效果行不行 ,其他的俺也没怎么玩过,互相学习~

import java.awt.*;

import javax.swing.JFrame;
import javax.swing.JLabel;

public class Window extends Frame {
public Window() {
this.setTitle("hello,world!");
this.setResizable(true);
this.setSize(200, 200);
this.setBackground(Color.yellow);
JLabel p = new JLabel ("test123");
p.setText("test2123");
this.add(p);
this.setVisible(true);
}

public static void main(String args[]) {
Window ob = new Window();
}
}
流浪的幽狼
2013-10-15 · TA获得超过1515个赞
知道大有可为答主
回答量:1462
采纳率:75%
帮助的人:795万
展开全部
应该不能,对应的对象响应对应的鼠标监听,如果你的JPanel足够大,你点JTextField外面就会有反应了,你可以在JtextField上添加鼠标监听
追问
那为什么JPanel里面的JLabel就能响应父组件的该方法呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式