当前位置:  技术问答>java相关

为什么JPanel不响应mouse事件。详情见内。谢谢

    来源: 互联网  发布时间:2015-03-31

    本文导语:  import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.util.*; public class Test extends JFrame {         public static void main(String[] args)         {                 JFrame t=new Test();            ...

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

public class Test extends JFrame
{
        public static void main(String[] args)
        {
                JFrame t=new Test();
                t.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                t.setSize(200,300);
                t.setVisible(true);
        }
        
        public Test()
        {
                JPanel b=new JMyPanel();
                b.setBorder(BorderFactory.createRaisedBevelBorder());
                b.setLayout(new BorderLayout());
                JPanel p=new JPanel();
                p.setBorder(BorderFactory.createLoweredBevelBorder());
                p.add(new JButton("1"));
                p.add(new JButton("2"));
                getContentPane().add(b);
                b.add(p,BorderLayout.NORTH);
        } 
        
        class JMyPanel extends JPanel implements MouseListener{
         public void mousePressed(MouseEvent e){
         System.out.println("mousePressed");
         }
         public void mouseReleased(MouseEvent e){
         System.out.println("mouseReleased");
         }
         public void mouseClicked(MouseEvent e){
         System.out.println("mouseClicked");
         }
         public void mouseEntered(MouseEvent e){
         System.out.println("mouseEntered");
            }
            public void mouseExited(MouseEvent e){
         System.out.println("mouseExited");
            }
        }

|
你没有加Listener--------addMouseListener(this)

|
注意下面代码的变化

        public Test()
        {
                JPanel b=new JPanel();
                b.setBorder(BorderFactory.createRaisedBevelBorder());
                b.setLayout(new BorderLayout());
                JPanel p=new JMyPanel();

                p.addMouseListener(p);  ////// 把这一句加上试试

                p.setBorder(BorderFactory.createLoweredBevelBorder());
                p.add(new JButton("1"));
                p.add(new JButton("2"));
                getContentPane().add(b);
                b.add(p,BorderLayout.NORTH);
        } 

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问怎样在JPanel中画图,也就是怎样获取Graphics对象来做图,或是其他方法?谢谢!再Applicaition而不是再Applet中!
  • 为什么我设置JPanel的Bounds后,不能看到,而抛出异常?请帮忙,谢谢!
  • java命名空间javax.swing类jpanel的类成员方法: jpanel定义及介绍
  • 如何使JPanel中的一个继承JPanel的组件的尺寸发生动态改变???
  • java命名空间javax.swing类jpanel.accessiblejpanel的类成员方法: jpanel.accessiblejpanel定义及介绍
  • 我要在JPanel上画一个字符串String,有没有让它倒立(竖着显示在JPanel上)的函数(类似drawSting()的)
  • java命名空间javax.swing类jpanel的类成员方法: getaccessiblecontext定义及介绍
  • JPanel中如何动态生成组件?
  • java命名空间javax.swing类jpanel的类成员方法: paramstring定义及介绍
  • 我是JAVA新手,所以我不明白(JPanel)类的东西
  • java命名空间javax.swing类jpanel的类成员方法: getui定义及介绍
  • 为什么JBuilder 7中的JPanel的layout属性出不来
  • java命名空间javax.swing类jpanel的类成员方法: setui定义及介绍
  • JPanel中如何捕获键盘事件?
  • java命名空间javax.swing类jpanel的类成员方法: getuiclassid定义及介绍
  • 怎么可以得到一个JPanel下的所有JTextField的所有变量名。
  • java的JPanel问题
  • 再开一贴,JPanel如何收到键盘事件
  • 请问怎么获得一个JPanel的更改大小完毕的消息
  • JPanel如何加标题?
  • 如何通过菜单切换同一对象下jpanel。有何方法,如果有代码示范,就更好了
  • 我在JPanel上画了一个图,我怎么才能实现缩放功能即,我用放大,缩小的Button控制)???? 在线等待...
  • 请问JPanel不支持滚动条吗?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3