import java.lang.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;class Drag extends JFrame { public Drag(){
super("new");
MyCanvas1 canvas = new MyCanvas1();
Container c;
c=getContentPane();
c.setLayout(new BorderLayout());
c.add(BorderLayout.CENTER,canvas);
setSize(600,600);
setVisible(true);
} public static void main(String args[]){
Drag mta=new Drag();
mta.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
}
}class MyCanvas1 extends Canvas implements MouseListener, MouseMotionListener
{ private static int xs, ys, xe, ye;
private static boolean rechteck; public MyCanvas1(){
rechteck=false;
addMouseListener(this);
addMouseMotionListener(this);
setSize(300,300);
setVisible(true);
}
public void paint(Graphics g) {
draw(g);
} private void draw(Graphics g) {
g.setColor(Color.red);
if(rechteck){
if (xs < xe) {
if (ys < ye) g.drawRect(xs, ys, (xe - xs), (ye - ys));
else g.drawRect(xs, ye, (xe - xs), (ys - ye));
}
else {
if (ys < ye) g.drawRect(xe, ys, (xs - xe), (ye - ys));
else g.drawRect(xe, ye, (xs - xe), (ys - ye));
}
}
} private void clear(Graphics g) {
if(rechteck){
if (xs < xe) {
if (ys < ye) {
g.clearRect(xs,ys, (xe - xs), (ye - ys));
}
else {
g.clearRect(xs, ye, (xe - xs), (ys - ye));
}
}
else {
if (ys < ye) {
g.clearRect(xe, ys, (xs - xe), (ye - ys));
}
else {
g.clearRect(xe, ye, (xs - xe), (ys - ye));
}
}
}
}
public void update(Graphics g) {
clear(g);
paint(g);
} public void mousePressed(MouseEvent e) {
e.consume();
xs = e.getX();
ys = e.getY();
} public void mouseReleased(MouseEvent e) {
e.consume();
rechteck = false;
// repaint();
} public void mouseEntered(MouseEvent e) {
} public void mouseExited(MouseEvent e) {
} public void mouseClicked(MouseEvent e) {
} public void mouseDragged(MouseEvent e) {
e.consume();
xe = e.getX();
ye = e.getY();
rechteck=true;
repaint();
} public void mouseMoved(MouseEvent e) {
}}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;class Drag extends JFrame { public Drag(){
super("new");
MyCanvas1 canvas = new MyCanvas1();
Container c;
c=getContentPane();
c.setLayout(new BorderLayout());
c.add(BorderLayout.CENTER,canvas);
setSize(600,600);
setVisible(true);
} public static void main(String args[]){
Drag mta=new Drag();
mta.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
}
}class MyCanvas1 extends Canvas implements MouseListener, MouseMotionListener
{ private static int xs, ys, xe, ye;
private static boolean rechteck; public MyCanvas1(){
rechteck=false;
addMouseListener(this);
addMouseMotionListener(this);
setSize(300,300);
setVisible(true);
}
public void paint(Graphics g) {
draw(g);
} private void draw(Graphics g) {
g.setColor(Color.red);
if(rechteck){
if (xs < xe) {
if (ys < ye) g.drawRect(xs, ys, (xe - xs), (ye - ys));
else g.drawRect(xs, ye, (xe - xs), (ys - ye));
}
else {
if (ys < ye) g.drawRect(xe, ys, (xs - xe), (ye - ys));
else g.drawRect(xe, ye, (xs - xe), (ys - ye));
}
}
} private void clear(Graphics g) {
if(rechteck){
if (xs < xe) {
if (ys < ye) {
g.clearRect(xs,ys, (xe - xs), (ye - ys));
}
else {
g.clearRect(xs, ye, (xe - xs), (ys - ye));
}
}
else {
if (ys < ye) {
g.clearRect(xe, ys, (xs - xe), (ye - ys));
}
else {
g.clearRect(xe, ye, (xs - xe), (ys - ye));
}
}
}
}
public void update(Graphics g) {
clear(g);
paint(g);
} public void mousePressed(MouseEvent e) {
e.consume();
xs = e.getX();
ys = e.getY();
} public void mouseReleased(MouseEvent e) {
e.consume();
rechteck = false;
// repaint();
} public void mouseEntered(MouseEvent e) {
} public void mouseExited(MouseEvent e) {
} public void mouseClicked(MouseEvent e) {
} public void mouseDragged(MouseEvent e) {
e.consume();
xe = e.getX();
ye = e.getY();
rechteck=true;
repaint();
} public void mouseMoved(MouseEvent e) {
}}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货