Java Tutorial/J2ME/Graphics
Содержание
Change stroke style between drawing
<source lang="java">
import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.rumand; import javax.microedition.lcdui.rumandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Graphics; import javax.microedition.midlet.MIDlet; public class RectMIDlet extends MIDlet implements CommandListener {
private Command exitCommand; Display display; public void startApp() { Display display = Display.getDisplay(this); Displayable d = new RectCanvas(); exitCommand = new Command("Exit", Command.EXIT, 1); d.addCommand(exitCommand); d.setCommandListener(this); display.setCurrent(d); } public void pauseApp() { } public void destroyApp(boolean unconditional) { } public void commandAction(Command c, Displayable s) { notifyDestroyed(); }
} class RectCanvas extends Canvas {
int width = 0; int height = 0; public void paint(Graphics g) { width = getWidth(); height = getHeight(); g.setGrayScale(255); g.fillRect(0, 0, width - 1, height - 1); g.setGrayScale(0); g.drawRect(0, 0, width - 1, height - 1); g.drawRect(5, 5, 40, 40); g.fillRoundRect(25, 25, 40, 40, 15, 15); }
}</source>
Get stroke style
<source lang="java">
import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.rumand; import javax.microedition.lcdui.rumandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Graphics; import javax.microedition.midlet.MIDlet; public class SizeMIDlet extends MIDlet implements CommandListener {
private Command exitCommand; Display display; public void startApp() { Display display = Display.getDisplay(this); Displayable d = new SizeCanvas(); exitCommand = new Command("Exit", Command.EXIT, 1); d.addCommand(exitCommand); d.setCommandListener(this); display.setCurrent(d); } public void pauseApp() { } public void destroyApp(boolean unconditional) { } public void commandAction(Command c, Displayable s) { notifyDestroyed(); }
} class SizeCanvas extends Canvas {
int width = 0; int height = 0; public void paint(Graphics g) { width = getWidth(); height = getHeight(); g.setGrayScale(255); g.fillRect(0, 0, width - 1, height - 1); g.setGrayScale(0); g.drawString("Stroke Style:" + g.getStrokeStyle(), 0, 60, Graphics.TOP | Graphics.LEFT); g.drawRect(0, 0, width - 1, height - 1); g.setStrokeStyle(Graphics.DOTTED); g.drawLine(00, 40, 60, 60); }
}</source>
Set color
<source lang="java">
import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Graphics; import javax.microedition.midlet.MIDlet; public class SetColorGraphicsMIDlet extends MIDlet {
private Display display; protected void startApp() { Canvas canvas = new LineCanvas(); display = Display.getDisplay(this); display.setCurrent(canvas); } protected void pauseApp() { } protected void destroyApp(boolean unconditional) { }
} class LineCanvas extends Canvas {
public void paint(Graphics g) { int width = getWidth(); int height = getHeight(); g.setColor(0xFFFF00); g.drawLine(0, height / 4, width - 1, height / 4); }
}</source>
Set color and gray scale
<source lang="java">
import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Graphics; import javax.microedition.midlet.MIDlet; public class DrawRectGraphicsMIDlet extends MIDlet {
private Display display; protected void startApp() { Canvas canvas = new LineCanvas(); display = Display.getDisplay(this); display.setCurrent(canvas); } protected void pauseApp() { } protected void destroyApp(boolean unconditional) { }
} class LineCanvas extends Canvas {
public void paint(Graphics g) { int width = getWidth(); int height = getHeight(); g.setColor(0); g.setGrayScale(100); g.drawRect(width/4, 0, width/2, height/4); }
}</source>
Set Gray style
<source lang="java">
import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Graphics; import javax.microedition.midlet.MIDlet; public class SetGrayScaleGraphicsMIDlet extends MIDlet {
private Display display; protected void startApp() { Canvas canvas = new LineCanvas(); display = Display.getDisplay(this); display.setCurrent(canvas); } protected void pauseApp() { } protected void destroyApp(boolean unconditional) { }
} class LineCanvas extends Canvas {
public void paint(Graphics g) { int width = getWidth(); int height = getHeight(); g.setColor(0); g.setGrayScale(100); g.drawLine(0, 2, width - 1, height / 2); }
}</source>
Set stroke style
<source lang="java">
import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Graphics; import javax.microedition.midlet.MIDlet; public class SetStrokeStyleGraphicsMIDlet extends MIDlet {
private Display display; protected void startApp() { Canvas canvas = new LineCanvas(); display = Display.getDisplay(this); display.setCurrent(canvas); } protected void pauseApp() { } protected void destroyApp(boolean unconditional) { }
} class LineCanvas extends Canvas {
public void paint(Graphics g) { int width = getWidth(); int height = getHeight(); g.setColor(0); g.setStrokeStyle(Graphics.DOTTED); g.drawLine(0, height / 2, width - 1, height / 2); }
}</source>
Translate coordinate
<source lang="java">
import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.rumand; import javax.microedition.lcdui.rumandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Graphics; import javax.microedition.midlet.MIDlet; public class OrigTransMIDlet extends MIDlet implements CommandListener {
private Command exitCommand; Display display; public void startApp() { Display display = Display.getDisplay(this); Displayable d = new OrigTransCanvas(); exitCommand = new Command("exit", Command.EXIT, 1); d.addCommand(exitCommand); d.setCommandListener(this); display.setCurrent(d); } public void pauseApp() { } public void destroyApp(boolean unconditional) { } public void commandAction(Command c, Displayable s) { notifyDestroyed(); }
} class OrigTransCanvas extends Canvas {
int width = 0; int height = 0; public void paint(Graphics g) { width = getWidth(); height = getHeight(); g.setGrayScale(255); g.fillRect(0, 0, width - 1, height - 1); g.setGrayScale(0); g.drawRect(0, 0, width - 1, height - 1); int counts = 5; int step = width / 5; for (int i = 1; i <= 5; i++) { g.fillRect(0, 0, step, step); g.translate(step, step); } }
}</source>