Читайте также:
|
|
Капустин А
МФ-192
ЛАБОРАТОРНАЯ РАБОТА № 7
«Изучение NetBeans, интегрированной среды разработки для J2ME.
Обработка команд и клавишных событий»
Цель работы
Изучить возможности интегрированной среды разработки NetBeans, с помощью которой возможны создание, компилирование, тестирование и упаковка Java-приложений для мобильных устройств. Обработка команд и клавишных событий.
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
/**
* @author алекс
*/
public class Main extends MIDlet
{
protected void startApp()
{
Draw canv = new Draw();
Display.getDisplay(this).setCurrent(canv);
}
protected void pauseApp() { }
protected void destroyApp(boolean unconditional) { }
public void exitMIDlet()
{
destroyApp(true);
notifyDestroyed();
}
}
class Draw extends Canvas implements CommandListener{
private Command cmExit, cmSmena, cmZalivka; // Команда выхода, изменения положения и заливки
private Main my_midlet;
int width=getWidth();
int height=getHeight();
int positionX = 0,positionY = 70; // начальная позиция
boolean perv=true,och=true, zalivka=false; // логические флаги
public Draw(){
// Создание команд и приемника для событий
cmExit = new Command("Exit", Command.EXIT, 1);
cmSmena = new Command("Вверх-влево", Command.OK, 1);
cmZalivka = new Command("Заливка", Command.OK, 2);
addCommand(cmExit);
addCommand(cmSmena);
addCommand(cmZalivka);
setCommandListener(this);
}
protected void paint(Graphics g){
// Очистить фон
if (och)
{g.setColor(255, 255, 255);
g.fillRect(0, 0, width, height);
och=false;}
if(zalivka){
g.setColor(0,0,0);
g.fillRect(0, 0, width, 4*height/5);
}
g.setColor(200, 0, 0);
// Рисование фигуры
g.drawString("Четвертый", 10, 10, g.BASELINE|g.LEFT);
g.drawString("Капустин Александр", 10, 180, g.BASELINE|g.LEFT);
g.fillTriangle(positionX, positionY, positionX+50, positionY, positionX+25, positionY-50);
}
public void commandAction(Command c, Displayable d){
// Обработка команд
if (c == cmExit) my_midlet.exitMIDlet();
if (c == cmZalivka) {
och=true;
zalivka=true;
}
if (c == cmSmena){
positionX=0;
positionY=75;
och=true;
}
repaint();
}
public void keyPressed(int keyCode) {
// Обработка клавишных событий
switch (getGameAction(keyCode)) {
case LEFT: --positionX; break;
case RIGHT: ++positionX; break;
case UP: --positionY; break;
case DOWN: ++positionY; break;
}
switch (keyCode) {
case KEY_NUM3:
++positionY;
++positionX;
och = true;
break;
}
repaint();
}
}
Вывод: в данной работе мы научились обрабатывать нажатия на клавиши.
Дата добавления: 2015-08-27; просмотров: 35 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Цель работы | | | Цель работы |