
java中怎么样让鼠标点击窗体 绘制出一个矩形 帮我看看我的代为为什么绘制不会来 那里错了 5
packagejmouse;importjava.awt.Graphics;importjava.awt.Graphics2D;importjava.awt.event....
package jmouse;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.geom.Rectangle2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class JMouse {
public static void main(String[] args) {
MyJFrame mf = new MyJFrame();
}
}
class MyJFrame extends JFrame{
public MyJFrame(){
MyJPanel mp = new MyJPanel();
this.setSize(600,500);
this.setTitle("鼠标点击在窗体上绘制矩形");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.add(mp);
this.setVisible(true);
}
}
class MyJPanel extends JPanel{
public MyJPanel(){
this.addMouseListener(new mouselistener());
this.addMouseMotionListener(new mouselistener());
this.setFocusable(true);
}
}
class mouselistener implements MouseListener,MouseMotionListener{
private int x;
private int y;
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
repaint();
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseDragged(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseMoved(MouseEvent e) {
// TODO Auto-generated method stub
x = e.getX();
y = e.getY();
}
public void paintComponent(Graphics g){
Graphics2D g2 = (Graphics2D)g;
Rectangle2D rect = new Rectangle2D.Double(x,y,100,100);
g2.draw(rect);
}
}
repaint();编译器报错的
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
repaint();
} 展开
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.geom.Rectangle2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class JMouse {
public static void main(String[] args) {
MyJFrame mf = new MyJFrame();
}
}
class MyJFrame extends JFrame{
public MyJFrame(){
MyJPanel mp = new MyJPanel();
this.setSize(600,500);
this.setTitle("鼠标点击在窗体上绘制矩形");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.add(mp);
this.setVisible(true);
}
}
class MyJPanel extends JPanel{
public MyJPanel(){
this.addMouseListener(new mouselistener());
this.addMouseMotionListener(new mouselistener());
this.setFocusable(true);
}
}
class mouselistener implements MouseListener,MouseMotionListener{
private int x;
private int y;
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
repaint();
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseDragged(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseMoved(MouseEvent e) {
// TODO Auto-generated method stub
x = e.getX();
y = e.getY();
}
public void paintComponent(Graphics g){
Graphics2D g2 = (Graphics2D)g;
Rectangle2D rect = new Rectangle2D.Double(x,y,100,100);
g2.draw(rect);
}
}
repaint();编译器报错的
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
repaint();
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询