import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.Component;public class TestCircle { public static void main(String[] args) {
new Frame1(); }}class Frame1 extends JFrame{
int x=0,y=0,h=0,w=0;
Frame1(){
this("TestFrame");
}
Frame1(String s){
super(s);
setSize(500,400);
setLocation(300,300);
Container cp = getContentPane();
MM m1 = new MM();
MN m2 = new MN();
setVisible(true);
addMouseListener(m1);
addMouseMotionListener(m2);
}
class MM extends MouseAdapter{
public void mousePressed(MouseEvent e){
x = e.getX();
y = e.getY();
}
}
class MN extends MouseAdapter{
public void mouseDragged(MouseEvent e){
h = e.getX();
w = e.getY();
Graphics g = getGraphics();
g.drawOval(x,y,h,w);
}
}
}上面是我画圆的代码`
但是并不如想像中的好使啊`
用鼠标在上面一拖就黑很大一块`
java有没有按下去是指定圆心然后通过拖动指定半径的画法`
另外我画圆的时候不怎么会用鼠标的那几个事件方法啊`
按下去是指定左上角那个内切圆矩形的点`
然后Dragged是拖动中能得到鼠标的坐标`
只有Pressed和Dragged能组合一下`
其它的怎么组合都没反应`
各位有没有好的画法`
指点一下啊`
import javax.swing.*;
import java.awt.event.*;
import java.awt.Component;public class TestCircle { public static void main(String[] args) {
new Frame1(); }}class Frame1 extends JFrame{
int x=0,y=0,h=0,w=0;
Frame1(){
this("TestFrame");
}
Frame1(String s){
super(s);
setSize(500,400);
setLocation(300,300);
Container cp = getContentPane();
MM m1 = new MM();
MN m2 = new MN();
setVisible(true);
addMouseListener(m1);
addMouseMotionListener(m2);
}
class MM extends MouseAdapter{
public void mousePressed(MouseEvent e){
x = e.getX();
y = e.getY();
}
}
class MN extends MouseAdapter{
public void mouseDragged(MouseEvent e){
h = e.getX();
w = e.getY();
Graphics g = getGraphics();
g.drawOval(x,y,h,w);
}
}
}上面是我画圆的代码`
但是并不如想像中的好使啊`
用鼠标在上面一拖就黑很大一块`
java有没有按下去是指定圆心然后通过拖动指定半径的画法`
另外我画圆的时候不怎么会用鼠标的那几个事件方法啊`
按下去是指定左上角那个内切圆矩形的点`
然后Dragged是拖动中能得到鼠标的坐标`
只有Pressed和Dragged能组合一下`
其它的怎么组合都没反应`
各位有没有好的画法`
指点一下啊`
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货