Chapter: Java The Complete Reference - The Java Library - Introducing the AWT: Working with Windows, Graphics, and Text

| Study Material, Lecturing Notes, Assignment, Reference, Wiki description explanation, brief detail |

Setting the Paint Mode - AWT Java

The paint mode determines how objects are drawn in a window. By default, new output to a window overwrites any preexisting contents. However, it is possible to have new objects XORed onto the window by using setXORMode( ), as follows:

Setting the Paint Mode

 

The paint mode determines how objects are drawn in a window. By default, new output to a window overwrites any preexisting contents. However, it is possible to have new objects XORed onto the window by using setXORMode( ), as follows:

 

void setXORMode(Color xorColor)

 

Here, xorColor specifies the color that will be XORed to the window when an object is drawn. The advantage of XOR mode is that the new object is always guaranteed to be visible no matter what color the object is drawn over.

 

To return to overwrite mode, call setPaintMode( ), shown here:

 

void setPaintMode( )

 

In general, you will want to use overwrite mode for normal output, and XOR mode for special purposes. For example, the following program displays cross hairs that track the mouse pointer. The cross hairs are XORed onto the window and are always visible, no matter what the underlying color is.

 

// Demonstrate XOR mode.

import java.awt.*;

import java.awt.event.*;

import java.applet.*; /*

 

<applet code="XOR" width=400 height=200> </applet>

 

*/

 

public class XOR extends Applet { int chsX=100, chsY=100;

 

public XOR() {

 

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.drawRect(10, 10, 60, 50); g.fillRect(100, 10, 60, 50); g.setColor(Color.red);

 

g.drawRoundRect(190, 10, 60, 50, 15, 15); g.fillRoundRect(70, 90, 140, 100, 30, 40); g.setColor(Color.cyan);

 

g.drawLine(20, 150, 400, 40); g.drawLine(5, 290, 80, 19);

 

// xor cross hairs

g.setXORMode(Color.black); g.drawLine(chsX-10, chsY, chsX+10, chsY); g.drawLine(chsX, chsY-10, chsX, chsY+10); g.setPaintMode();

 

}

 

}

 

Sample output from this program is shown here:




Study Material, Lecturing Notes, Assignment, Reference, Wiki description explanation, brief detail


Copyright © 2018-2020 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.