Java by API/javax.microedition.lcdui/Graphics
Содержание
- 1 Graphics.BASELINE
- 2 Graphics.BOTTOM
- 3 Graphics.DOTTED
- 4 Graphics: drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)
- 5 Graphics: drawLine(int x1, int y1, int x2, int y2)
- 6 Graphics: drawString(String str, int x, int y, int anchor)
- 7 Graphics: fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)
- 8 Graphics: fillRect(int x, int y, int width, int height)
- 9 Graphics: fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
- 10 Graphics.HCENTER
- 11 Graphics.LEFT
- 12 Graphics: setClip(int x, int y, int width, int height)
- 13 Graphics: setColor(int RGB)
- 14 Graphics: setGrayScale(int value)
- 15 Graphics: setStrokeStyle(int style)
- 16 Graphics.SOLID
- 17 Graphics.TOP
- 18 Graphics: translate(int x, int y)
- 19 Graphics.VCENTER
Graphics.BASELINE
<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 ClockMIDlet extends MIDlet implements CommandListener {
private Command exitCommand; Display display; public void startApp() { Display display = Display.getDisplay(this); Displayable d = new ClockCanvas(10, 10, 10); 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 ClockCanvas extends Canvas {
private int hour; private int minute; private int second; protected int xCenter, yCenter; protected int clockRadius; int width = 0; int height = 0; ClockCanvas(int hour, int minute, int second) { this.hour = hour; this.minute = minute; this.second = second; } 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); clockRadius = Math.min(width, height) - 20; xCenter = getWidth() / 2; yCenter = getHeight() / 2; g.drawArc(10, 12, clockRadius, clockRadius, 0, 360); g.drawString("12", xCenter, 0, Graphics.TOP | Graphics.HCENTER); g.drawString("9", 1, yCenter, Graphics.BASELINE | Graphics.LEFT); g.drawString("3", width - 1, yCenter, Graphics.BASELINE | Graphics.RIGHT); g.drawString("6", xCenter, height, Graphics.BOTTOM | Graphics.RIGHT); }
}
</source>
Graphics.BOTTOM
<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 ClockMIDlet extends MIDlet implements CommandListener {
private Command exitCommand; Display display; public void startApp() { Display display = Display.getDisplay(this); Displayable d = new ClockCanvas(10, 10, 10); 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 ClockCanvas extends Canvas {
private int hour; private int minute; private int second; protected int xCenter, yCenter; protected int clockRadius; int width = 0; int height = 0; ClockCanvas(int hour, int minute, int second) { this.hour = hour; this.minute = minute; this.second = second; } 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); clockRadius = Math.min(width, height) - 20; xCenter = getWidth() / 2; yCenter = getHeight() / 2; g.drawArc(10, 12, clockRadius, clockRadius, 0, 360); g.drawString("12", xCenter, 0, Graphics.TOP | Graphics.HCENTER); g.drawString("9", 1, yCenter, Graphics.BASELINE | Graphics.LEFT); g.drawString("3", width - 1, yCenter, Graphics.BASELINE | Graphics.RIGHT); g.drawString("6", xCenter, height, Graphics.BOTTOM | Graphics.RIGHT); }
}
</source>
Graphics.DOTTED
<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>
Graphics: drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)
<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 J2MEArcExample extends MIDlet {
private Display display; private MyCanvas canvas; public J2MEArcExample() { display = Display.getDisplay(this); canvas = new MyCanvas(this); } protected void startApp() { display.setCurrent(canvas); } protected void pauseApp() { } protected void destroyApp(boolean unconditional) { } public void exitMIDlet() { destroyApp(true); notifyDestroyed(); }
} class MyCanvas extends Canvas implements CommandListener {
private Command exit; private J2MEArcExample arcExample; public MyCanvas(J2MEArcExample arcExample) { this.arcExample = arcExample; exit = new Command("Exit", Command.EXIT, 1); addCommand(exit); setCommandListener(this); } protected void paint(Graphics graphics) { graphics.setColor(255, 255, 255); graphics.fillRect(0, 0, getWidth(), getHeight()); graphics.setColor(255, 0, 0); graphics.drawArc(0, 0, getWidth(), getHeight(), 180, 180); } public void commandAction(Command command, Displayable displayable) { if (command == exit) { arcExample.exitMIDlet(); } }
}
</source>
Graphics: drawLine(int x1, int y1, int x2, int y2)
<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>
Graphics: drawString(String str, int x, int y, int anchor)
<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 DrawStringGraphicsMIDlet 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.SOLID); g.drawString("Top left", 0, 0, Graphics.TOP | Graphics.LEFT);
}
}
</source>
Graphics: fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)
<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 FillArcGraphicsMIDlet 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.SOLID); g.fillArc(0, 0, width/2, height/2, 0, 90);
}
}
</source>
Graphics: fillRect(int x, int y, int width, int height)
<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>
Graphics: fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
<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 J2MEPacer extends MIDlet {
public void startApp() { Displayable d = new PacerCanvas(); d.addCommand(new Command("Exit", Command.EXIT, 0)); d.setCommandListener(new CommandListener() { public void commandAction(Command c, Displayable s) { notifyDestroyed(); } }); Display.getDisplay(this).setCurrent(d); } public void pauseApp() { } public void destroyApp(boolean unconditional) { }
} class PacerCanvas extends Canvas {
public void paint(Graphics g) { int w = getWidth(); int h = getHeight(); g.setColor(0xffffff); g.fillRect(0, 0, w, h); g.setColor(0x000000); g.drawRect(12, 12, 20, 20); g.fillRoundRect(33, 33, 20, 20, 5, 5); g.drawArc(8, 88, 20, 20, 0, 360); }
}
</source>
Graphics.HCENTER
<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 ClockMIDlet extends MIDlet implements CommandListener {
private Command exitCommand; Display display; public void startApp() { Display display = Display.getDisplay(this); Displayable d = new ClockCanvas(10, 10, 10); 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 ClockCanvas extends Canvas {
private int hour; private int minute; private int second; protected int xCenter, yCenter; protected int clockRadius; int width = 0; int height = 0; ClockCanvas(int hour, int minute, int second) { this.hour = hour; this.minute = minute; this.second = second; } 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); clockRadius = Math.min(width, height) - 20; xCenter = getWidth() / 2; yCenter = getHeight() / 2; g.drawArc(10, 12, clockRadius, clockRadius, 0, 360); g.drawString("12", xCenter, 0, Graphics.TOP | Graphics.HCENTER); g.drawString("9", 1, yCenter, Graphics.BASELINE | Graphics.LEFT); g.drawString("3", width - 1, yCenter, Graphics.BASELINE | Graphics.RIGHT); g.drawString("6", xCenter, height, Graphics.BOTTOM | Graphics.RIGHT); }
}
</source>
Graphics.LEFT
<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 KeyEventsMIDlet extends MIDlet implements CommandListener {
private Command exitCommand; Display display; Displayable d; public void startApp() { Display display = Display.getDisplay(this); d = new KeyEventsCanvas(); 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 KeyEventsCanvas extends Canvas {
int width = 0; int height = 0; String aMessage = "message"; 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.drawString(aMessage, 10, 10, Graphics.TOP | Graphics.LEFT); } protected void keyPressed(int keyCode) { aMessage = getKeyName(keyCode); if (aMessage.equals("2")) aMessage = "2"; repaint(); }
}
</source>
Graphics: setClip(int x, int y, int width, int height)
<source lang="java">
import javax.microedition.lcdui.Alert; 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.lcdui.Image; import javax.microedition.midlet.MIDlet; public class J2MEClippingRegion extends MIDlet {
private Display display; private MyCanvas canvas; public J2MEClippingRegion() { display = Display.getDisplay(this); canvas = new MyCanvas(this); } protected void startApp() { display.setCurrent(canvas); } protected void pauseApp() { } protected void destroyApp(boolean unconditional) { } public void exitMIDlet() { destroyApp(true); notifyDestroyed(); } class MyCanvas extends Canvas implements CommandListener { private Command exit; private J2MEClippingRegion clippingRegion; private Image image = null; public MyCanvas(J2MEClippingRegion clippingRegion) { this.clippingRegion = clippingRegion; exit = new Command("Exit", Command.EXIT, 1); addCommand(exit); setCommandListener(this); try { image = Image.createImage(70, 70); Graphics graphics = image.getGraphics(); graphics.setColor(255, 0, 0); graphics.fillArc(10, 10, 60, 50, 180, 180); } catch (Exception error) { Alert alert = new Alert("Failure", "Creating Image", null, null); alert.setTimeout(Alert.FOREVER); display.setCurrent(alert); } } protected void paint(Graphics graphics) { if (image != null) { graphics.setColor(255, 255, 255); graphics.fillRect(0, 0, getWidth(), getHeight()); graphics.setClip(35, 35, 40, 40); graphics.drawImage(image, 30, 30, Graphics.VCENTER | Graphics.HCENTER); } } public void commandAction(Command command, Displayable display) { if (command == exit) { clippingRegion.exitMIDlet(); } } }
}
</source>
Graphics: setColor(int RGB)
<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>
Graphics: setGrayScale(int value)
<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>
Graphics: setStrokeStyle(int 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>
Graphics.SOLID
<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 DrawArcGraphicsMIDlet 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.SOLID); g.drawArc(0, 0, width/2, height/2, 0, 90);
}
}
</source>
Graphics.TOP
<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 KeyEventsMIDlet extends MIDlet implements CommandListener {
private Command exitCommand; Display display; Displayable d; public void startApp() { Display display = Display.getDisplay(this); d = new KeyEventsCanvas(); 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 KeyEventsCanvas extends Canvas {
int width = 0; int height = 0; String aMessage = "message"; 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.drawString(aMessage, 10, 10, Graphics.TOP | Graphics.LEFT); } protected void keyPressed(int keyCode) { aMessage = getKeyName(keyCode); if (aMessage.equals("2")) aMessage = "2"; repaint(); }
}
</source>
Graphics: translate(int x, int y)
<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.lcdui.Image; import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException; public class DisplayBigImageTest extends MIDlet implements CommandListener {
private Display display; private TestCanvas tc; private Command leftCommand = new Command("Left", Command.SCREEN, 1); private Command rightCommand = new Command("Right", Command.SCREEN, 1); public DisplayBigImageTest() { Image img = null; try { img = Image.createImage("/10.png"); } catch (Exception e) { System.out.println(e.getMessage()); } tc = new TestCanvas(img); tc.addCommand(rightCommand); tc.addCommand(leftCommand); tc.setCommandListener(this); display = Display.getDisplay(this); } public void startApp() throws MIDletStateChangeException { display.setCurrent(tc); } public void pauseApp() { } public void destroyApp(boolean unconditional) { } public void commandAction(Command c, Displayable d) { int stepX = tc.getWidth() / 4; int stepY = tc.getHeight() / 4; if (d == tc && c == leftCommand) { tc.increaseXY(stepX, 0); tc.repaint(); } else if (d == tc && c == rightCommand) { tc.increaseXY(-stepX, 0); tc.repaint(); } } class TestCanvas extends Canvas { private Image img; private int transX = 0; private int transY = 0; public TestCanvas(Image img) { this.img = img; transX = 0; transY = 0; } public void increaseXY(int x, int y) { transX += x; transY += y; } public void paint(Graphics g) { int width = this.getWidth(); int height = this.getHeight(); g.setGrayScale(255); g.fillRect(0, 0, width - 1, height - 1); g.setGrayScale(0); g.drawRect(0, 0, width - 1, height - 1); g.translate(transX, transY); g.drawImage(img, 0, 0, g.TOP | g.LEFT); } }
}
</source>
Graphics.VCENTER
<source lang="java">
import java.io.IOException; import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Graphics; import javax.microedition.lcdui.Image; import javax.microedition.midlet.MIDlet; public class ImageVerticalHorizontalGraphicsMIDlet 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(); try { Image image = Image.createImage("/h.png"); g.drawImage(image, width/2, height/2, Graphics.VCENTER | Graphics.HCENTER); } catch (IOException ex) { g.setColor(0xffffff); g.drawString("Failed to load image!", 0, 0, Graphics.TOP | Graphics.LEFT); return; } }
}
</source>