java问题:帮我在这个程序里加上底子,并加以说明

来源:百度知道 编辑:UC知道 时间:2024/07/16 20:50:43
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

/*为了达到画线的功能,我们分别implements MouseListener与MouseMotionListener.
*/
public class MouseDemo extends JFrame implements MouseListener,
MouseMotionListener {
int flag; //flag=1代表Mouse Moved,flag=2代表Mouse Dragged
int x = 0;
int y = 0;
int startx, starty, endx, endy;//起始坐标与终点坐标
public MouseDemo() {
Container contentPane = getContentPane();
contentPane.addMouseListener(this);
contentPane.addMouseMotionListener(this);
setSize(300, 300);
show();
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}

/*由mousePressed(),mouseReleased()取得鼠标拖曳的开始与结束坐标*/
public void mousePressed(MouseEvent e) {
startx = e.getX();
starty = e.getY();
}

public void mouseReleased(MouseEvent e) {
endx = e.g

你这程序是要干什么?如果只是画一条直线的话是这样改:
把update()方法删了
在paint()方法里的开始加入下面的语句;
g.setColor(Color.GRAY);
g.fillRect(0, 0, getWidth(), getHeight());
意思是涂背景

全部代码如下:

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

/*为了达到画线的功能,我们分别implements MouseListener与MouseMotionListener.
*/
public class MouseDemo extends JFrame implements MouseListener,
MouseMotionListener {
int flag; //flag=1代表Mouse Moved,flag=2代表Mouse Dragged
int x = 0;
int y = 0;
int startx, starty, endx, endy;//起始坐标与终点坐标
public MouseDemo() {
Container contentPane = getContentPane();
contentPane.addMouseListener(this);
contentPane.addMouseMotionListener(this);
setSize(300, 300);
show();
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}

/*由mousePre