Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> LWUIT 
:(
    Опции темы
404NotFound
Дата 12.11.2010, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Блуждающий
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 22.2.2010

Репутация: -1
Всего: -1



Доброго времени суток. Подскажите пожалуйста, кто работал с данной библиотекой, где бы найти нормальное руководство по ней, или хотя бы перечень всех функций используемый в ней. Работать на абум как то не хочеться.
--------------------
У меня в кармане крыса,Я нашел ее в лесу!Она мокрая и лысая,Я домой ее несу!Зайдите на минутке
PM MAIL WWW ICQ   Вверх
poulmart
Дата 13.11.2010, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 12.2.2008

Репутация: нет
Всего: нет



Внутри поставки есть документация(для старта хватит)

https://lwuit.dev.java.net/
http://lwuit.blogspot.com/

Желательно знание английского (у меня с этим проблема).

Рускоязычных ресурсов я не нашел.

Если это не поможет обращайся. 

В принципе библиотека нормальная для мобил от 2009 и младше.




PM MAIL   Вверх
404NotFound
Дата 13.11.2010, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Блуждающий
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 22.2.2010

Репутация: -1
Всего: -1



Ок. Тогда если можно, несколько вопросов, я лучше их приведу вместе к годом:
Код

import com.sun.lwuit.*;
import com.sun.lwuit.Command;
import com.sun.lwuit.Form;
import com.sun.lwuit.Label;
import com.sun.lwuit.layouts.BorderLayout;
import com.sun.lwuit.plaf.UIManager;
import com.sun.lwuit.util.Resources;
import com.sun.lwuit.events.*;

public class HelloLWUITMidlet extends javax.microedition.midlet.MIDlet  implements ActionListener {

       public void startApp() {
       Display.init(this);
       try {
Resources r = Resources.open("/rs.res");
 UIManager.getInstance().setThemeProps(
r.getTheme(r.getThemeResourceNames()[0])
);
} catch (java.io.IOException e) {
}
Form f = new Form();
Command test = new Command ("Test");
TextField textArea = new TextField();
textArea.setEditable(true);
Button tButton = new Button(test);
       f.setTitle("Hello World");
       f.setLayout(new BorderLayout());
       f.addComponent("Center", new Label("I am a Label"));
       f.addComponent("Center",textArea);
       f.addComponent("Center",tButton);
       f.setCommandListener(this);
        f.show();
   }
   public void pauseApp() {
   }

   public void destroyApp(boolean unconditional) {
   }
    public void actionPerformed(ActionEvent ae) {
        Command cmd =ae.getCommand();
        if (cmd.getCommandName().equals("Test")) {
        System.out.println("Pointer pressed at (" + 1 + ",  " + 2 + ")");}
    }
}


Первое: Правильно ли я написал обработчик событий (   f.setCommandListener(this); ) - т.к. он зачеркнутый
Второе: Кнопка получилась на всеь экран. Как ее уменьшить?
Третье: Видимо связанное со вторым - поле TextField не видно на экране (т.к. скорее всего его перекрывает кнопка).
--------------------
У меня в кармане крыса,Я нашел ее в лесу!Она мокрая и лысая,Я домой ее несу!Зайдите на минутке
PM MAIL WWW ICQ   Вверх
poulmart
Дата 14.11.2010, 01:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 12.2.2008

Репутация: нет
Всего: нет



Первое: Правильно ли я написал обработчик событий (   f.setCommandListener(this); ) - т.к. он зачеркнутый
Правильно, но если он зачеркнутый - то значит Deprecated.

Вот цитата из Api doc: (Наводишь на метод и смотришь Alt+F1)

setCommandListener

public void setCommandListener(ActionListener commandListener)
Deprecated. use add/removeCommandListener instead
A listener that is invoked when a command is clicked allowing multiple commands to be handled by a single block
Parameters:
commandListener - the command action listener


Второе: Кнопка получилась на всеь экран. Как ее уменьшить?
Третье: Видимо связанное со вторым - поле TextField не видно на экране (т.к. скорее всего его перекрывает кнопка).

поменяй на другой LayotManger (Например BoxLayot)

получим:

вместо
       f.setLayout(new BorderLayout());
       f.addComponent("Center", new Label("I am a Label")); // ИМХо лучше писать BorderLayout.CENTER
       f.addComponent("Center",textArea);
       f.addComponent("Center",tButton);
       f.setCommandListener(this);

ставим
       f.setLayout(new BoxLayout(BoxLayout.Y_AXIS));
       f.addComponent( new Label("I am a Label"));
       f.addComponent(textArea);
       f.addComponent(tButton);
       f.addCommandListener(this);

Смотрим результат.

Вариант 2

       f.setLayout(new BorderLayout());
       f.addComponent(BorderLayout.NORTH, new Label("I am a Label"));
       f.addComponent(BorderLayout.CENTER,textArea);
       f.addComponent(BorderLayout.SOUTH,tButton);
       f.addCommandListener(this);

Добавлено через 14 минут и 36 секунд
Еще 
Код корявый


Вместо 

        Command cmd =ae.getCommand();
        if (cmd.getCommandName().equals("Test")) {
        System.out.println("Pointer pressed at (" + 1 + ",  " + 2 + ")");}


1. Задай константу

private final static int COMMAND_ID_TEST = 1;

2. Создание команды

Command test = new Command ("Test",COMMAND_ID_TEST);

3. Листенер


if (ae.getCommand()!=null){
switch(ae.getCommand().getId()){
case COMMAND_ID_TEST:
System.out.println("Pointer pressed at (" + 1 + ",  " + 2 + ")");
break;
default:
System.out.println("UNKNOW COMMAND ID");
}






PM MAIL   Вверх
404NotFound
Дата 14.11.2010, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Блуждающий
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 22.2.2010

Репутация: -1
Всего: -1



Спасибо за очень развернутый ответ!  smile 
--------------------
У меня в кармане крыса,Я нашел ее в лесу!Она мокрая и лысая,Я домой ее несу!Зайдите на минутке
PM MAIL WWW ICQ   Вверх
404NotFound
Дата 16.11.2010, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Блуждающий
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 22.2.2010

Репутация: -1
Всего: -1



И снова добрый день!
Еще парочку вопросов, если можно.
Первое: как правильно написать обработчик событий для кнопки. Т.е. нажимаю на кнопку и что-то происходит.  smile 
Второе: Таблица в LWUIT - как обратиться к конкретной ячейке, что то в нее ввести и как из нее получить введеное значение

 smile 
--------------------
У меня в кармане крыса,Я нашел ее в лесу!Она мокрая и лысая,Я домой ее несу!Зайдите на минутке
PM MAIL WWW ICQ   Вверх
poulmart
Дата 17.11.2010, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 12.2.2008

Репутация: нет
Всего: нет



1.

Вариант. 1

final Button button  = new Button("Old Text");
button.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent evt) {
         // Something do
      }
   });

Вариант. 2 - я уже описывал


2.
table.getModel().getValueAt(row, column);

Добавлено через 6 минут и 1 секунду
2. table.getModel.setValueAt(row, column, value);

Ну и документацией поактивнее надо пользоваться (вопросы очень нубовские).
PM MAIL   Вверх
404NotFound
Дата 20.11.2010, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Блуждающий
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 22.2.2010

Репутация: -1
Всего: -1



И снова добрый день. С документацией работаю активно, но на многие вопросы ответа не нахожу. Сегодня на повестке дня у меня вот какой вопрос. Таблицы в LWUIT.
Создаю новую таблицу (редактируемую), заполненную по умолчанию значениями.
при считавании значения table.getModel().getValueAt(0, 0) - получаю то, что и находиться в ячейке. С этим ОК.
при принудительной записи в ячейку с помощью table.getModel().setValueAt(0, 0, "oooo") значение в ячейке обновляеться - с эти тоже все ОК.
Однако, если вручную ввожу изменения в ячейку (в эмуляторе стираю значени по умолчанию и что либо ввожу). На экране таблица обновляеться, но при обращении с помощью  table.getModel().getValueAt(0, 0)  - я получаю старое, не измененное значение. Подскажите, что может быть.
--------------------
У меня в кармане крыса,Я нашел ее в лесу!Она мокрая и лысая,Я домой ее несу!Зайдите на минутке
PM MAIL WWW ICQ   Вверх
404NotFound
Дата 21.11.2010, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Блуждающий
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 22.2.2010

Репутация: -1
Всего: -1



Проблема решилась банально. На эмуляторе почему-то ячейка не обновлялась, на реальном телефоне все ОК
--------------------
У меня в кармане крыса,Я нашел ее в лесу!Она мокрая и лысая,Я домой ее несу!Зайдите на минутке
PM MAIL WWW ICQ   Вверх
404NotFound
Дата 24.11.2010, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Блуждающий
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 22.2.2010

Репутация: -1
Всего: -1



 smile 

И вновь добрый день!
Знающие, подскажите пожалуйста, как подключить возможность ввода русских символов в LWUIT.
Как я понял этот вопрос состоит из двух подвопросов:
1) Если клавиатура виртуальная, для сенсорных телефонов - как сделать я понял. Если возможно, дайте ссылку на кодировку русских символов в юникоде в формате /uxxxx
2) Если клавиатура аппаратная. Вопрос несколько сложнее, я так понимаю надо сделать в файле ресурса локализацию. А как потом ее подключить? Если возможно, на второй вопрос ответьте с примером.

Искренне Ваш, блуждающий 404_not_found
--------------------
У меня в кармане крыса,Я нашел ее в лесу!Она мокрая и лысая,Я домой ее несу!Зайдите на минутке
PM MAIL WWW ICQ   Вверх
oxigen
Дата 25.11.2010, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 12.4.2010

Репутация: 4
Всего: 4



404, можно я твою темку поэксплуатирую? ;)

Попытался разобраться с LWUIT - затык в самом начале возник.
Проект должен билдиться с помощью ANT
В build.xml указал  
  <property name="wtk.midp.version" value="2.0"/>
  <property name="wtk.cldc.version" value="1.1"/>
Версия WTK 2.5.1
При верификации вываливается ошибка 
[wtkpreverify] ERROR: floating-point constants should not appear

гугл говорит, что эта ошибка не должна выпадать при cldc 1.1

Кто-то может подсказать, в чем может быть дело или поделиться своим работающим build.xml ?



PM MAIL   Вверх
404NotFound
Дата 30.11.2010, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Блуждающий
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 22.2.2010

Репутация: -1
Всего: -1



Сам с собой общаюсь, но все же. Один ответ на свой вопрос я нашел, если кому будет полезно, то, чтобы вводить русские символы в LWUIT в TextField с аппаратной клавиатуры нужно вставить следующий код. (единственное, что нужно поминять символы юникода для русских символов, их я тоже нашел в той же википедии):
Код

private static final String[] HEBREW_KEY_CODES = {
// 0
" +0",
// 1
".,?!'\"1-()@/:_",
// 2
"\u05d3\u05d4\u05d52",
// 3
"\u05d0\u05d1\u05d23",
// 4
"\u05de\u05dd\u05e0\u05df4",
// 5
"\u05d9\u05db\u05da\u05dc5",
// 6
"\u05d6\u05d7\u05d86",
// 7
"\u05e8\u05e9\u05ea7",
// 8
"\u05e6\u05e5\u05e78",
// 9
"\u05e1\u05e2\u05e4\u05e39",
};
Hashtable values = new Hashtable();
for(int iter = 0 ; iter < HEBREW_KEY_CODES.length ; iter++) {
values.put(new Integer('0' + iter), HEBREW_KEY_CODES[iter]);
}
TextField.addInputMode("\u05d0\u05d1\u05d2", values, false);
TextField.setDefaultInputModeOrder(new String[] {"\u05d0\u05d1\u05d2", "Abc", "123"});

--------------------
У меня в кармане крыса,Я нашел ее в лесу!Она мокрая и лысая,Я домой ее несу!Зайдите на минутке
PM MAIL WWW ICQ   Вверх
404NotFound
Дата 4.12.2010, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Блуждающий
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 22.2.2010

Репутация: -1
Всего: -1



Возникла очередная проблема. Если я ввожу данные с сенсорной клавиатуры в поле, то на экране данные отображаются. Но при попытки считать значение из поля - я получаю дырку от бублика :(
Причем если данные вводяться с аппаратной клавиатуры - то все ок.
--------------------
У меня в кармане крыса,Я нашел ее в лесу!Она мокрая и лысая,Я домой ее несу!Зайдите на минутке
PM MAIL WWW ICQ   Вверх
bapxat
Дата 14.12.2011, 00:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 12.12.2011

Репутация: нет
Всего: нет



Демка от LWUIT не смогла установиться на nokia 7610. Видимо из-за несовпадения версий cldc. В мидлете он изначально был 1.1. В манифесте попробовал его заменить на 1.0. Прога установилась, но запускаться не хочет. Один человек на форуме задал вопрос на подобную тему (www.java.net/node/686677). Ему ответили

"cldc 1.0 is not supported by LWUIT you can try porting LWUIT to such
 a device but its not trivial."

Кто нибудь знает про "porting" мидлетов под определенные платформы? на 7610 платформа S60, Symbian 7.0
PM MAIL   Вверх
404NotFound
Дата 14.12.2011, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Блуждающий
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 22.2.2010

Репутация: -1
Всего: -1



В данном случае porting - портировать - т.е. переписать весь код этой библиотеки, "but its not trivial" - но это очень не просто (не тривиально). И я как бы не натыкался на портирование версии этой библиотеки под cldc 1.0. Для более старых устройств рекомендую копнуть в сторону polish
--------------------
У меня в кармане крыса,Я нашел ее в лесу!Она мокрая и лысая,Я домой ее несу!Зайдите на минутке
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0561 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.