23.03.2014 / 04:23 | |
defaultday Пользователь Сейчас: Offline
Откуда: Алапаевск Регистрация: 12.03.2014
| Это исходник часов из jcc2, кто сможет его переделать чтобы копилился в sdk mobile
Прикрепленные файлы: midlet.java (2.54 кб.) Скачано 660 раз |
23.03.2014 / 10:17 | |
vl@volk Пользователь Сейчас: Offline
Имя: Владислав Откуда: Земля Регистрация: 26.12.2012
| Открыть спойлер Закрыть спойлер import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import java.util.Calendar;
public class Time {
public Time() {
}
public String getTime() {
Calendar c = Calendar.getInstance();
StringBuffer ret = new StringBuffer();
ret.append(c.get(Calendar.HOUR_OF_DAY));
ret.append(":");
ret.append(c.get(Calendar.MINUTE));
ret.append(":");
ret.append(c.get(Calendar.SECOND));
return ret.toString();
}
}
public class TimeCanvas extends Canvas implements Runnable {
private Thread thread;
private Time time;
public TimeCanvas() {
super();
setFullScreenMode(true);
time = new Time();
thread = new Thread(this);
thread.start();
}
public void run() {
while (true) {
try {
repaint(0, 0, getWidth(), getHeight());
Thread.sleep(250);
} catch(Exception e) { }
}
}
protected void paint(Graphics g) {
g.setColor(0);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(0xffff00);
Font f = g.getFont();
String timeString = time.getTime();
int posX = (getWidth() - f.stringWidth(timeString)) / 2;
int posY = (getHeight() - f.getHeight()) / 2;
g.drawString(timeString, posX, posY, Graphics.LEFT | Graphics.TOP);
}
}
public class TimeMIDlet extends MIDlet {
protected void startApp() throws MIDletStateChangeException {
Display.getDisplay(this).setCurrent(new TimeCanvas());
}
protected void pauseApp() throws MIDletStateChangeException {
}
protected void destroyApp(bolean uncoditional) throws MIDletStateChangeException {
}
}
__________________
знает толк |
23.03.2014 / 10:29 | |
vl@volk Пользователь Сейчас: Offline
Имя: Владислав Откуда: Земля Регистрация: 26.12.2012
| Это для примера, вообще в классе наследуемом от MIDlet надо заводить булевую отображался ли уже класс Canvas и в методе startApp проверять, если false, то отбражаем и ставим значение true. В противном случае ничего не делаем. bolean isShow = false;
protected void startApp() throws MIDletStateChangeException {
if (!isShow) {
Display.getDisplay(this).setCurrent(new MyCanvas());
isShow = true;
}
}
Для чего так делать? Для того, чтобы не создавался заного объект класса Canvas, так как при сворачивании и последующим вызовом из фона вызывается метод startApp(). Например, ProPaintMobile после сворачивания и развертывании постоянно стирает мои рисунки. __________________
знает толк |
23.03.2014 / 20:54 | |
DominaN Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Смоленск Регистрация: 28.09.2011
| vl@volk, это только на нокии так, понятно почему
|
23.03.2014 / 21:03 | |
SeTSeR Пользователь Сейчас: Offline
Имя: Сергей Откуда: Где-то возле Москвы Регистрация: 01.07.2012
| DominaN, не только.
|
23.03.2014 / 21:25 | |
vl@volk Пользователь Сейчас: Offline
Имя: Владислав Откуда: Земля Регистрация: 26.12.2012
| DominaN, нет, на нокиа такого нет, это на самсунге такое, да и в некоторых примерах в сорцах phoneme такое видел. там даже есть картинка работы мидлета.
__________________
знает толк
Прикрепленные файлы: App-States.gif (3.97 кб.) Скачано 108 раз midletstates.gif (15.2 кб.) Скачано 79 раз |
23.03.2014 / 21:32 | |
UserSuperPupsik Пользователь Сейчас: Offline
Имя: UserSuperPupsik Регистрация: 27.09.2013
| dzanis мне посоветовал использовать библиотеку lwjgl, Ребят чего-то не получается: как нарисовать кубик, который можно вращать движениями мышки?(вообще коды никакие не получаются). ??? |
24.03.2014 / 17:47 | |
ProstoDimaO47 Пользователь Сейчас: Offline
Имя: Дима Откуда: Днепродзержинск Регистрация: 05.08.2013
| Как при нажатии на кнопку обновить окно и вывести JTextField? Заранее спасибо!
|
24.03.2014 / 22:39 | |
Kalter Пользователь Сейчас: Offline
Имя: Гриб Откуда: Оренбург - Нежинка Регистрация: 16.10.2013
| Можно ли проверить двойное нажатие? Если да, то как?
__________________
Homo homini penis est. |
24.03.2014 / 23:10 | |
vl@volk Пользователь Сейчас: Offline
Имя: Владислав Откуда: Земля Регистрация: 26.12.2012
| Kalter, int oldKeyCode = 0;
int pressedCounts = 0;
public void keyPressed(int keyCode) {
if (oldKeyCode == keyCode) {
pressedCounts++;
}
if (oldKeyCode != keyCode) {
oldKeyCode = keyCode;
pressedCounts = 1;
}
switch (pressedCounts) {
case 1:
// нажали один раз подряд
break;
case 2:
// два
break;
...
}
}
еще можно засекать по времени __________________
знает толк |