forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   JAVA Micro Edition (http://forum.boolean.name/forumdisplay.php?f=52)
-   -   подскажите новичку,плиз (http://forum.boolean.name/showthread.php?t=729)

lepricon 04.03.2006 02:15

Привет...

Я только начал разбираться с j2me, хотя когда-то программировал на Java. Но никак не могу понять где щас ошибся:

Код:

import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;


public class test extends javax.microedition.midlet.MIDlet {
  private Display disp;
  private Form form;

 
  public test() {
    super();
    disp = Display.getDisplay(this);
    form = new Form("MIDlet");
    disp.setCurrent(form);
  }

 
  public void startApp() {
   
  }
 
 
  public void pauseApp() {
  }
 
 
  public void destroyApp(boolean unconditional) {
    form = null;
    notifyDestroyed();
  }
 
  public void paint (Graphics g) {
    g.setColor(0);
    g.drawLine(1,1,50,50);
  }
}

По идее эта программулина должна нарисовать линию, но она ничего не рисует :-(

P.S. пишу в Sun One Studio 4. запускаю программу под встроенным эмулятором.
Что я не так делаю?

Спасибо.

Piligrim 06.03.2006 09:38

У тебя экран имеет тип Form, а это по сути диалоговое окно. Для рисования используется Canvas. А так все верно.

steils 06.05.2006 10:10

Решил вот написать прогу на яве на сотовый. Но встал на одном месте.
Код:

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class MainClassDateField extends MIDlet implements CommandListener, ItemCommandListener

{
private Command exitMidlet = new Command("Выход",Command.EXIT,0);
private Command perexodAlert = new Command("Нажать", Command.ITEM, 1);
private DateField dt;
private TextField tf1;
private TextField tf2;
private TextField tf3;
private Form myform;
private Display mydisplay;
 * * *
 * *public void startApp()
 * *{
 * * * *mydisplay = Display.getDisplay(this); *
 * * * *String AS = "250";
 * * * *String BS = "250";
 * * * *String CS = "250";
 * * * *StringItem item = new StringItem("", "");
 * * * *dt = new DateField("Время включения",DateField.TIME);
 * * * *tf1 = new TextField("Гдзащитник # 1", AS,3, TextField.NUMERIC);
 * * * *tf2 = new TextField("Гдзащитник # 2", BS,3, TextField.NUMERIC);
 * * * *tf3 = new TextField("Гдзащитник # 3", CS,3, TextField.NUMERIC);
 * * * *item = new StringItem("", "Произвести расчет", Item.BUTTON);
 * * * *item.setDefaultCommand(perexodAlert);
 * * * *item.setItemCommandListener(this);
 * * * *myform = new Form("Давление на ПБ");
 * * * *myform.append(dt);
 * * * *myform.append(tf1);
 * * * *myform.append(tf2);
 * * * *myform.append(tf3);
 * * * *myform.append(item); * *
 * * * *myform.addCommand(exitMidlet);
 * * * *myform.setCommandListener(this);
 * * * *mydisplay.setCurrent(myform);
 *
 * *}
 * *public void pauseApp() {}
 * *public void destroyApp(boolean unconditional) {}
 * *public void commandAction(Command c, Item item)
 * *{
 * * * *if(c == perexodAlert)
 * * * * * *{
 * * * * * * * *Alert myalert = new Alert("Расчет", "Идет расчет", null, AlertType.INFO);
 * * * * * * * *mydisplay.setCurrent(myalert);
 * * * * * *}

 * *}
 * *public void commandAction(Command c, Displayable d)
 * *
 * *{
 * * * *if(c == exitMidlet)
 * * * *{
 * * * * * *destroyApp(false);
 * * * * * *notifyDestroyed();
 * * * *}
 * * * * *
 * }
}

Мне нужно значение переменной tf1, tf2, tf3 перевести из строковых в числовые.
На MobileBasic подобную прогу написал и она работает. Но работает в самом мидлете MobileBasic. Вот я решил на ява написать.
Также хочу узнать как вытащить отдельно значения часов и минут из переменной dt?

Piligrim 07.05.2006 16:21

intValue = Integer.parseInt(StringValue);

Guest 07.05.2006 18:23

Вставляю строчку
int а = Integer.parseInt(String AS);
выдает ошибку

Piligrim 08.05.2006 10:24

Integer.parseInt(AS).intValue();

Guest 11.05.2006 11:09

Спасибо за ответ. Но что то не получается. Затормозился на данном вопросе где то уже полгода назад. Спросить было не у кого и программирование на яве забросил ненадолго. Но даже сейчас стараюсь напрячь мозги, используя твои советы, но все равно редактор выдает ошибку. Не хочет и все преобразовывать в цифры строковое значение.
Раньше программировал SUN One Studio, сейчас перешел на NetBeans. Может попможешь немного в овладении языка ява, а то уже совсем отчаялся.

pax 11.05.2006 19:43

Поставь JBuilderX и не мучайся, это самый лучший Java редактор кода/компилер (по моему мнению), все свойства и методы классов показывает когда нажимаеш точку ".".

NewDev 15.05.2006 14:20

Не подскажет ли кто совсем начинающему..

Как создать файл и записать туда что-нибудь?
у нас терминал Siemens TC65.
Или как вообще лучше отладочные выводы делать..

pax 15.05.2006 15:35

Отладочную информацию можно выводить на экран телефона... в JBuilderX отладчик есть.

На счет файловой системы сименса ниче сказать не могу, т.к. нет SDK подходящего. В SDK должно быть описание функций.

NewDev 15.05.2006 16:16

Цитата:

Originally posted by PAX
Отладочную информацию можно выводить на экран телефона...
в JBuilderX отладчик есть.

На счет файловой системы сименса ниче сказать не могу, т.к. нет SDK
подходящего. В SDK должно быть описание функций.


JBuilderX ищем пока.

У нас не телефон.
Терминал Siemens TC65.
Там экрана нет.

Поставили Sun Java Studio Mobility 6 2004Q3.

кто нибудь умеет там dubugger настраивать?

PS: Для оформления поста есть соответствующме теги ;)

pax 15.05.2006 18:09

Цитата:

Originally posted by NewDev
Поставили Sun Java Studio Mobility 6 2004Q3.

кто нибудь умеет там dubugger настраивать?

Я не пользовался, потому что JBuilderX полностью устраивает, и тебе советую его найти (облегчишь себе жизнь сильно).

dzaniss 30.08.2006 02:18

Re: подскажите новичку,плиз
 
Может у кого есть JBuilderX!На сайте чтобы скачать регистрация нужна!


Часовой пояс GMT +4, время: 04:34.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot