「已注销」 2014-11-01 03:15 采纳率: 100%
浏览 1830

java mousePressed事件无响应不知道什么问题

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

public class HE extends JFrame
{
public HE()
{
showJPanel panel =new showJPanel();
//setLayout(new BordeLaout());
add(panel);
}
public static void main(String[] args)
{
HE frame = new HE();
frame.setTitle("showJFrame");
frame.setSize(310,410);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
//面板类
class showJPanel extends JPanel
{

private int currentX = 1 ,currentY = 1,rX = 10,rY = 10;
private int cr  = 255,cg = 0,cb = 0;
int count = 0;
public showJPanel()
{

    addMouseMotionListener(new MouseAdapter()
    {
        public void mousePressed(MouseEvent e)
        {
            currentX = e.getX();
            currentY = e.getY();

            double L = (currentX-rX)*(currentX-rX)+(currentY-rY)*(currentY-rY);

            if(Math.sqrt(L)<10)
            {
                rX = (int)(Math.random()*300)+10;   //随机显示圆
                rY = (int)(Math.random()*400)+10;


                cr = (int)(Math.random()*255);  //随机确定颜色
                cg = (int)(Math.random()*255);
                cb = (int)(Math.random()*255);
                repaint();
            }   
            L = 0;
        }
    });
}
//覆盖父类方法
protected void paintComponent(Graphics g)
{
    super.paintComponent(g);


    g.drawOval(rX,rY ,10,10);           


    Color c = new Color(cr,cg,cb);      

    g.setColor(c);
    g.fillOval(rX,rY,10,10);
}   

}

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
    • ¥15 python爬取bilibili校园招聘网站
    • ¥30 求解达问题(有红包)
    • ¥15 请解包一个pak文件
    • ¥15 不同系统编译兼容问题
    • ¥100 三相直流充电模块对数字电源芯片在物理上它必须具备哪些功能和性能?
    • ¥30 数字电源对DSP芯片的具体要求
    • ¥20 antv g6 折线边如何变为钝角
    • ¥30 如何在Matlab或Python中 设置饼图的高度
    • ¥15 nginx中的CORS策略应该如何配置