J2ME – Form UI Bileşeni

Kullanıcı arayüzü (UI – User Interface) bileşenlerinde şimdiye kadar gördüğümüz kadarı ile sadece bir adet nesneyi ekrana atayabiliyorduk. Peki şöyle bir senaryomuz olsun bizden mobil tabanlı bir öğrenci bilgi sistemi yapmamız isteniyor ve kullanıcıdan 16 adet parametre alınacak. Bu gibi bir durumda Command’ lar kullanılarak isteğe göre adımlarda ekrana diğer bileşen aktarılabilir fakat bu hem kullanıcı için geçişi zor hemde göz önünde olmayan bir yapı çıkarır. İşte böyle birden çok veri girişinin olduğu durumlarda Form sınıfı kullanılır.

Formlarda kullanıcı yarattığı her Form bileşenini önce forma ekler sonrasında form nesnesi ekran nesnesine aktarılır. Bu durumda yine ekrana tek bir bileşen atanmış olur.
Form nesnesinin yapısı aşağıdaki gibir.

    Form(String title);
    Form(String title, Item[] items);

Form sınıfı içerisinde String tipinde title parametresi ile yine title ile itmes adında form bileşenlerini alan iki adet kurucu metod vardır. Title ile formun başlığını belirleyebiliyoruz, items ilede elimizde bulunan bileşenleri forma tek seferde ekleyebiliyoruz.
Form için bir örnek yapalım.

    import javax.microedition.midlet.*;
    import javax.microedition.lcdui.*;
     
    public class FormOrnek extends MIDlet {
        public void startApp() {
            Form kayitFormu= new Form("Kayit Formu");
            Display ekran=Display.getDisplay(this);
            ekran.setCurrent(kayitFormu);
        }
       
        public void pauseApp() {
        }
       
        public void destroyApp(boolean unconditional) {
        }
    }

Bu kodun ekran çıktısı aşağıdaki gibi olur.

form-1

Göründüğü gibi ekranda sadece başlığımız görünüyor bunun dışında sadece boş beyaz bir alan mevcut. İşte bu durumda forma yeni form bileşenleri atamak gerekiyor. Form üzerine sadece forma özgü bileşenler atanabilir TextBox, List gibi bir bileşenler yerine alternatif form bileşenleri mevcuttur.

Dec 24th, 2008
Tags: , ,
No comments yet.

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>