home *** CD-ROM | disk | FTP | other *** search
Java Source | 1996-10-10 | 2.3 KB | 103 lines |
- import java.awt.*;
-
- public class myCanvas extends Canvas
- {
- StringBuffer buffer;
- public int nChars;
- int x;
- int y;
- Color white;
- Color black;
- Color yellow;
- Image offScreen;
-
- //////////////////////////////////////////////////////////////////////////
- //
- myCanvas()
- {
- buffer = new StringBuffer();
- nChars = 0;
- white = new Color(255,255,255);
- black = new Color(0,0,0);
- yellow = new Color(255,255,0);
- x = 4;
- y = 4;
-
- offScreen = null;
- }
-
- //////////////////////////////////////////////////////////////////////////
- //
- void setHeight(int newY)
- {
- y = size().height / 2;
- }
-
- //////////////////////////////////////////////////////////////////////////
- //
- public String getText()
- {
- return buffer.toString();
- }
-
- //////////////////////////////////////////////////////////////////////////
- //
-
- public void paint(Graphics g)
- {
- // System.out.println("myCanvas::paint() -> Graphics = " + g.getClass().getName());
- Dimension s = size();
-
- if( offScreen == null )
- offScreen = createImage(s.width,s.height);
-
- Graphics gOff = offScreen.getGraphics();
- // System.out.println("myCanvas::paint() -> offGraphics = " + gOff.getClass().getName());
-
- gOff.setColor(yellow);
- gOff.fillRect(0, 0, s.width, s.height);
- gOff.setColor(white);
- gOff.fillRect(4, 4, s.width-8, s.height-8);
-
- if( nChars > 0)
- {
- gOff.setColor(black);
- gOff.drawString(buffer.toString(), x, 24);
-
- char[] chars = (buffer.toString()).toCharArray();
- gOff.drawChars( chars, 0, nChars, x, 64);
- }
- else if(nChars < 0)
- System.out.println("myCanvas::paint() --> error! (nChars < 0)");
- g.drawImage(offScreen, 0, 0, null);
- }
-
- //////////////////////////////////////////////////////////////////////////
- //
-
- public boolean keyDown(Event e, int key)
- {
- System.out.println("character " + key + " entered");
- if( (key & 0xff00) != 0)
- System.out.println("Unicode char found!");
-
- switch(key)
- {
- case 8:
- if( nChars != 0)
- buffer.setLength(--nChars);
- break;
-
- default:
- nChars++;
- buffer.append((char)key);
- break;
- }
- repaint();
- return true;
- }
-
- //////////////////////////////////////////////////////////////////////////
- //
- }
-