📄 drawroundml.java
字号:
// 鼠标画圆事件
package graphInterface;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class DrawRoundML 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, r;
public DrawRoundML(JPanel sp, JPanel ip) {
sourcePanel = sp;
infoPanel = ip;
gra = sourcePanel.getGraphics();
infoGra = infoPanel.getGraphics();
}
public void mouseClicked(MouseEvent me) {
}
public void mouseEntered(MouseEvent me) {
}
public void mouseExited(MouseEvent me) {
}
public void mousePressed(MouseEvent me) {
infoGra.drawString("圆心:" + x0 + ", " + y0, 12, 32);
infoGra.drawString("半径:" + r, 12, 52);
x0 = me.getX();
y0 = me.getY();
r = 0;
gra.setXORMode(Color.green);
gra.setColor(Color.white);
infoGra.setXORMode(Color.green);
infoGra.drawString("圆心:" + x0 + ", " + y0, 12, 32);
infoGra.drawString("半径:" + r, 12, 52);
}
public void mouseReleased(MouseEvent me) {
gra.setPaintMode();
Alg.round(gra, x0, y0, r);
}
public void mouseMoved(MouseEvent me) {
}
public void mouseDragged(MouseEvent me) {
infoGra.drawString("半径:" + r, 12, 52);
Alg.round(gra, x0, y0, r);
xt = me.getX();
yt = me.getY();
r = (int) Point.distance(x0, y0, xt, yt);
Alg.round(gra, x0, y0, r);
infoGra.drawString("半径:" + r, 12, 52);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -