001: /*
002: *
003: * Copyright (c) 2007, Sun Microsystems, Inc.
004: *
005: * All rights reserved.
006: *
007: * Redistribution and use in source and binary forms, with or without
008: * modification, are permitted provided that the following conditions
009: * are met:
010: *
011: * * Redistributions of source code must retain the above copyright
012: * notice, this list of conditions and the following disclaimer.
013: * * Redistributions in binary form must reproduce the above copyright
014: * notice, this list of conditions and the following disclaimer in the
015: * documentation and/or other materials provided with the distribution.
016: * * Neither the name of Sun Microsystems nor the names of its contributors
017: * may be used to endorse or promote products derived from this software
018: * without specific prior written permission.
019: *
020: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
021: * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
022: * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
023: * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
024: * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
025: * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
026: * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
027: * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
028: * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
029: * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
030: * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
031: */
032: package example.chooser;
033:
034: import javax.microedition.lcdui.*;
035:
036: /**
037: * A Text sample. This screen can be used to display a Sample string.
038: * using the Face, Style, Size and foreground and background color.
039: */
040: public class TextSample extends Canvas {
041: /** The width of the border. */
042: static final int border = 2;
043: int face;
044: int style;
045: int size;
046: int bgcolor;
047: int fgcolor;
048:
049: /** The sample text */
050: String text = "Sample Text";
051:
052: /**
053: * Create a new TextSample canvas.
054: */
055: public TextSample() {
056: fgcolor = 0xffffff;
057: bgcolor = 0x000000;
058: size = Font.SIZE_MEDIUM;
059: face = Font.FACE_SYSTEM;
060: style = Font.STYLE_PLAIN;
061: }
062:
063: /**
064: * Set the Style of font to display.
065: * @param style to which to set the font
066: * @see Font#getStyle
067: */
068: public void setStyle(int style) {
069: this .style = style;
070: }
071:
072: /**
073: * Get the style of font currently being displayed.
074: * @return the font style
075: * @see Font#getStyle
076: */
077: public int getStyle() {
078: return style;
079: }
080:
081: /**
082: * Set the Face of font to display.
083: * @param face to which to set the font
084: * @see Font#getFace
085: */
086: public void setFace(int face) {
087: this .face = face;
088: }
089:
090: /**
091: * Get the face of font currently being displayed.
092: * @return the current font face
093: * @see Font#getFace
094: */
095: public int getFace() {
096: return face;
097: }
098:
099: /**
100: * Set the Size of font to display.
101: * @param size to which the font should be set
102: * @see Font#getSize
103: */
104: public void setSize(int size) {
105: this .size = size;
106: }
107:
108: /**
109: * Get the size of font currently being displayed.
110: * @return The current size of font.
111: * @see Font#getSize
112: */
113: public int getSize() {
114: return size;
115: }
116:
117: /**
118: * Set the Color of font to display.
119: * @param color a new foreground color
120: */
121: public void setForegroundColor(int color) {
122: fgcolor = color;
123: }
124:
125: /**
126: * Get the color of font currently being displayed.
127: * @return the foreground color
128: */
129: public int getForegroundColor() {
130: return fgcolor;
131: }
132:
133: /**
134: * Set the Color of font to display.
135: * @param color a new background color
136: */
137: public void setBackgroundColor(int color) {
138: bgcolor = color;
139: }
140:
141: /**
142: * Get the color of font currently being displayed.
143: * @return the background color
144: */
145: public int getBackgroundColor() {
146: return bgcolor;
147: }
148:
149: /**
150: * Paint the canvas with the current color and controls to change it.
151: * @param g the graphics context to which to paint
152: */
153: protected void paint(Graphics g) {
154: int w = getWidth();
155: int h = getHeight();
156:
157: // Fill the background
158: g.setColor(bgcolor);
159: g.fillRect(0, 0, w, h);
160:
161: g.setColor(fgcolor);
162:
163: Font font = Font.getFont(face, style, size);
164: g.setFont(font);
165: g.drawString(text, 2, border, Graphics.LEFT | Graphics.TOP);
166: }
167: }
|