沙家小贝成长记好看吗:java中鼠标事件

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 06:26:09
小弟用代码画了一个矩形表示一个区域,
现在我想让当鼠标进入这个矩形的时候能弹出一个JTABLE
已经定义好了,里面放的是数据库里的信息,请教高手:
1) 鼠标进入矩形区域的事件怎么写
2) 显示这个Jtable的事件怎么写 show就可以了吗
谢谢大家 请帮助我 能详细就尽量详细点啊

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

public class MouseDemo extends JFrame implements MouseListener,MouseMotionListener
{
JFrame f=null;
JLabel l=null;
JPanel p=null;
public MouseDemo()
{
//f=new JFrame("MouseDemo");

//p=new JPanel();
//p.paintComponents()
//f.add(paintComponent());
Container contentPane = getContentPane();
// contentPane.setLayout(null);
l= new JLabel("起始状态,还没鼠标事件",JLabel.CENTER);
contentPane.addMouseListener(this);
contentPane.addMouseMotionListener(this);
setSize(100,100);
show();
//contentPane.add(l);
contentPane.add(new ShapesPanel());
}

public void mouseMoved(MouseEvent e)
{
if(e.getX()>100&e.getY()>100&e.getX()<260&e.getY()<230)
{
JFrame jf=new JFrame("new Win");
JPanel jp=new JPanel();
JTable jt=new JTable(3,2);
jp.add(jt);
jf.add(jp);
jf.setVisible(true);
}
}

public void mouseEntered(MouseEvent e)
{

}
public void mousePressed(MouseEvent e)
{
l.setText("您已经压下鼠标按钮");
}

public void mouseReleased(MouseEvent e)
{
l.setText("您已经放开鼠标按钮");
}

public void mouseExited(MouseEvent e)
{
l.setText("鼠标光标离开按钮");
}

public void mouseClicked(MouseEvent e)
{
l.setText("您已经按下鼠标按钮");
}
public void mouseDragged(MouseEvent e)
{
/* flag = 2;
x = e.getX();
y = e.getY();
repaint();*/
}

public void windowClosing(WindowEvent e)
{
System.exit(0);
}

public static void main(String args[])
{
new MouseDemo();
}
}

class ShapesPanel extends JPanel
{
public void paintComponent(Graphics g)
{
g.drawRect(100,100,160,130); //绘制矩形
}
}