import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import javax.swing.JFrame;
public class XORModePaintWithMouse extends JFrame{
int chsX = 100; int chsY = 100;
public static void main(String[] args) {
XORModePaintWithMouse f = new XORModePaintWithMouse();
f.setSize(300, 300);
f.setVisible(true);
}
XORModePaintWithMouse(){
addMouseMotionListener(new MouseMotionAdapter() {
public void mouseMoved(MouseEvent me) {
int x = me.getX();
int y = me.getY();
chsX = x - 10;
chsY = y - 10;
repaint();
}
});
}
public void paint(Graphics g){
g.drawLine(0, 0, 100, 100);
g.drawLine(0, 100, 100, 0);
g.setColor(Color.blue);
g.drawLine(40, 25, 250, 180);
g.drawLine(75, 90, 400, 400);
g.setColor(Color.green);
//将此图形上下文的绘图模式设置为在此图形上下文的当前颜色和新的指定颜色之间交替。
g.setXORMode(Color.black);
g.drawLine(chsX - 10, chsY, chsX + 10, chsY);
g.drawLine(chsX, chsY - 10, chsX, chsY + 10);
//设置将此图形上下文的绘图模式,以便通过此图形上下文中的当前颜色来覆盖目标。
g.setPaintMode();
}
}
import java.applet.Applet;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class ResizingWindow extends Applet{
final int inc = 25;
int max = 500;
int min = 20;
Dimension d;//Dimension 类封装单个对象中组件的宽度和高度(精确到整数)。
public ResizingWindow(){
addMouseListener(new MouseAdapter(){
public void mouseReleased(MouseEvent e){
int w = (d.width + inc) > max ? min: (d.width + inc);
int h = (d.height + inc) > max ? min : (d.height + inc);
setSize(new Dimension(w, h));
}
});
}
public void paint(Graphics g){
d = getSize();//获取此 Dimension 对象的大小。
g.drawLine(0, 0, d.width -1, d.height -1);
g.drawLine(0, d.height - 1, d.width - 1, 0);
g.drawRect(0, 0, d.width - 1, d.height - 1);
}
}