In Java drawing, there are three main ways to display text:
(1) drawString(String str,int x,int y): Displays a string at the specified position.
(2) drawChars(char data[],int offset,int length, int x, int y): Display the text in the character array at the specified position, starting from the offset position of the character array, and display at most length characters.
(3) drawBytes(byte data[],int offset,int length,int x,int y), displays the text in the character array at the specified position, starting from the offset position of the character array, and displays at most length characters.
The display position (x,y) given here is the starting coordinate of the baseline of the text, not the upper left corner coordinate of the rectangle area displayed by the text.
There are three elements of text font:
Fonts: Commonly used fonts include Times New Roman, Symbol, Song font, Kai style, etc.
Style: There are three commonly used styles: normal, bold and italic; they are represented by three constants: Font.PLAIN (normal), Font.BOLD (bold) and Font.ITALIC (italic). Styles can be used in combination, for example, Font.BOLD+Font.ITALIC.
Font size: Font size is the size of the character and the unit is a pound.
In Java language, use Font object font. Font class constructors are:
Font(String fontName,int style,int size), 3 parameters represent font, style and font size respectively. For example, code:
Font fnA = new Font("Quickly Reflected Version", Font.PLAIN,12)
The fonts set are: delicate style, normal style, 12 pounds font size.
Other common methods of Font class:
[Example] The applet uses 6 font strings to display the content to indicate its own font.
import java.applet.*;import java.awt.*;public class Example7_1 extends Applet{ Font f1 = new Font("Helvetica",Font.PLAIN,18); Font f2 = new Font( "Helvetica", Font.BOLD ,10); Font f3 = new Font("Helvetica",Font.ITALIC,12); Font f4 = new Font("Courier",Font.PLAIN,12); Font f5 = new Font("TimesRoman", Font. BOLD+Font.ITALIC,14); Font f6 = new Font("Dialog",Font.ITALIC,14); public void paint(Graphics g){ setSize(250,200); g.setFont(f1); drawSt ring("18pt plain Helvetica",5,20); g.setFont(f2); drawString("10pt bold Helvetica",5,43); g.setFont(f3); drawString("12pt italic Helvetica",5,58); g .setFont(f4);drawString("12pt plain courier",5,75); g.setFont(f5);drawString("14pt bold & italic times Roman",5,92); g.setFont(f6);drawString : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ("14pt italic dialog",5,111); }}
To set colors with a Color-like object, there are two ways to generate various colors:
Pre-ordered colors with Color: black, red, white, yellow…;
Synthesize colors by values of red, green, blue (RGB).
Common methods related to color:
(1) Create a color object using the Color class constructor method Color (int R, int G, int B). The parameters R, G, B represent red, green and blue respectively, and their values are from 0 to 255.
(2) Use the Graphics-like method setColor(Color c), and the value of parameter c is shown in Table 12-1.
(3) Use the method setBackground(Color c) of the Component class to setBackground(Color c) to set the background color. Because applets are subclasses of component classes, you can directly use the setBackground() method to change the background color.
(4) Use the Graphics-like method getColor() to get the color.
Color class predefined color constants
[Example] The applet sets the color and paints the squares. The method of drawing the squares will be discussed in the subsequent sections.
import java.applet.*;import java.awt.*;public class Example7_2 extends Applet{ public void paint(Graphics g){ setSize(380,200); for(int i= 0;i<=10;i++){ Color myredcolor = new Color(i*25+5,0,0); g.setColor(myredcolor); g.fillRect(i*32+5,2,28,28); } for(int i=0;i<= 10;i++){ Color mygreencolor = new Color(0,i*25+5,0); g.setColor(mygreencolor); g.fillRect(i*32+5,32,28,28); } for(int i=0;i<=10;i++){ Color mybluecolor = new Color(0,0,i*25+5); g.setColor(mybluecolor); g.fillRect(i*32+5,62,28, 28); } }}