📄 drawlineml.java
字号:
// 画线鼠标监听器
package graphInterface;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.geom.Point2D;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import javax.swing.JPanel;
public class DrawLineML implements MouseListener, MouseMotionListener {
private static JPanel sourcePanel;
private static JPanel infoPanel;
private static Graphics gra;
private static Graphics infoGra;
private static int x0, y0, xt, yt;
public DrawLineML(JPanel jp, JPanel ip) {
sourcePanel = jp;
infoPanel = ip;
gra = sourcePanel.getGraphics();
infoGra = infoPanel.getGraphics();
}
public void mouseClicked(MouseEvent me) {
}
public void mouseDragged(MouseEvent me) {
infoGra.drawString("终点:" + xt + ", " + yt, 12, 52);
infoGra.drawString("半径:" + (int) Point2D.distance(x0, y0, xt, yt), 12,
72);
Alg.line(gra, x0, y0, xt, yt);
xt = me.getX();
yt = me.getY();
Alg.line(gra, x0, y0, xt, yt);
infoGra.drawString("终点:" + xt + ", " + yt, 12, 52);
infoGra.drawString("半径:" + (int) Point2D.distance(x0, y0, xt, yt), 12,
72);
}
public void mouseEntered(MouseEvent me) {
}
public void mouseExited(MouseEvent me) {
}
public void mouseMoved(MouseEvent me) {
}
public void mousePressed(MouseEvent me) {
infoGra.drawString("起点:" + x0 + ", " + y0, 12, 32);
infoGra.drawString("终点:" + xt + ", " + yt, 12, 52);
infoGra.drawString("距离:" + Point2D.distance(x0, y0, xt, yt), 12, 72);
xt = x0 = me.getX();
yt = y0 = me.getY();
gra.setXORMode(Color.green);
gra.setColor(Color.white);
infoGra.setXORMode(Color.green);
infoGra.drawString("起点:" + x0 + ", " + y0, 12, 32);
infoGra.drawString("终点:" + xt + ", " + yt, 12, 52);
infoGra.drawString("距离:" + (int) Point2D.distance(x0, y0, xt, yt), 12,
72);
}
public void mouseReleased(MouseEvent me) {
gra.setPaintMode();
Alg.line(gra, x0, y0, xt, yt);
infoGra.setPaintMode();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -