java新手求助,关于GUI
来源:百度知道 编辑:UC知道 时间:2024/05/09 05:18:53
用MouseAdapter,重载mousePressed,mouseReleased,以及mouseDragged
this.addMouseMotionListener(new MouseAdapter() {
public void mouseDragged(MouseEvent e){
//自己写
repaint();
}
});
this.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
//自己写 repaint();
}
});
用适配器的好处是不用实现所用方法,只要声明两个point对象作为划线的起点和终点,传给paintComponent(Graphics g)方法中g.drawline方法就可以了。具体实现自己想吧!
我给你个想法:在MousePress(鼠标按下时MouseListenner)中GetX();GetY;
在MouseDraged(鼠标按下并拖动时MouseMotionListener)中再GetX();GetY;然后根据第一个X,Y和第二个X,Y用Graphics类的DrawLine();画线!
下面的程序参考,没有实现你要的功能!注意在画线时,常常得传个compenent去getContentPane().
//程序开始
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class MouseEventDemo extends JFrame implements MouseListener,MouseMotionListener
{
private JLabel statusBar;