BlackBerry Form Elemanları Kullanımı | Tasarım


Bu yazıda sonuç olarak şu ekranı vermek istiyoruz:

Bunun için, sizin de ekranda gördüğünüz gibi yukarıdan aşağıya doğru form nesneleri sıralı bir şekilde yerlerini almışlar. Bir önceki yazımızda olduğu gibi yeni bir proje açıyoruz, bu sefer seçenek olarak BlackBerry Project’ i tıklıyoruz. Hazır olarak gelecek olan 2 tane class var (.java file) Bunları proje adı > src > paket adı > altında göreceksiniz. MyApp.java ve MyScreen.java. Bu proje için MyScreen.java class’ ını kullanacağız.

MyClass.java nın içerisinde kullanılacak nesneler: EditField, RadioButtonGroup, RadioButtonField, GaugeField, LabelField, CheckboxField, GridFieldManager, ChoiceField, ButtonField olacaktır.

EditField için:

EditField name = new EditField("Name :","");
add(name);
EditField surname = new EditField("SurName :","");
add(surname);
EditField gender = new EditField("Gender :","");
add(gender);

RadioButtonGroup ve RadioButtonFiled için:

RadioButtonGroup g = new RadioButtonGroup();
RadioButtonField f1 = new RadioButtonField("Male", g, true);
RadioButtonField f2 = new RadioButtonField("Female", g, false);
add(f1);
add(f2);

GaugeField için:

GaugeField percentGauge = new GaugeField("Age: ", 18, 40, 24, GaugeField.FOCUSABLE | GaugeField.EDITABLE);
add(percentGauge);

LabelField için:

LabelField field = new LabelField("Hobbies:");
add(field);

CheckBoxField için:

CheckboxField c1 = new CheckboxField("Movies", true);
CheckboxField c2 = new CheckboxField("Sport", false);
CheckboxField c3 = new CheckboxField("Dance", false);

Ayrıca CheckBoxField’ lar ekrana düzenli 3 tane yanyana yerleştirebilmemiz için GridFieldManager kullanmamız gerekiyor. GridFieldManager için:

GridFieldManager gfm = new GridFieldManager(1,3,GridFieldManager.USE_ALL_HEIGHT | GridFieldManager.USE_ALL_WIDTH);
gfm.add(c1);
gfm.insert(c2,1);
gfm.insert(c3,2);
add(gfm);

ChoiceField’ lar için biraz daha farklı bir yöntem var. Seçili objenin seçim durumunu ifade eden getChoice() metodu bize yardımcı olacak. ChoiceField için:

ChoiceField f = new ChoiceField("Education: ", 2, 0){
public Object getChoice(int index) throws IllegalArgumentException
{
if (index == 0) return "High School";
else if (index == 1) return "University";
else return null;
}
};
add(f);

Ve son olarak da ButtonField için:

ButtonField bt = new ButtonField("OK", ButtonField.FIELD_RIGHT);
add(bt);

Dikkat ettiyseniz oluşturulan her nesne için bir add() metodu kullandık. add() metodu da oluşturulan nesneleri ekrana eklemek göstermek için kullanılır, tabi MyScreen class’ ımız MainScreen class’ ından extend olduğu için bu işlemi gerçekleştirebiliyoruz.

Tüm kodlar
MyApp.java :

package mypackage;

import net.rim.device.api.ui.UiApplication;

public class MyApp extends UiApplication
{
    public static void main(String[] args)
    {
        MyApp theApp = new MyApp();
        theApp.enterEventDispatcher();
    }

    public MyApp()
    {   MyScreen mainScreen = new MyScreen();
		pushScreen(mainScreen);
    }
}

MyScreen.java :

package mypackage;

import net.rim.device.api.ui.component.ButtonField;
import net.rim.device.api.ui.component.CheckboxField;
import net.rim.device.api.ui.component.ChoiceField;
import net.rim.device.api.ui.component.EditField;
import net.rim.device.api.ui.component.GaugeField;
import net.rim.device.api.ui.component.LabelField;
import net.rim.device.api.ui.component.RadioButtonField;
import net.rim.device.api.ui.component.RadioButtonGroup;
import net.rim.device.api.ui.container.GridFieldManager;
import net.rim.device.api.ui.container.MainScreen;

public final class MyScreen extends MainScreen
{
    public MyScreen()
    {
    	EditField name = new EditField("Name :","");
    	add(name);
    	EditField surname = new EditField("SurName :","");
    	add(surname);
    	EditField gender = new EditField("Gender :","");
    	add(gender);

    	RadioButtonGroup g = new RadioButtonGroup();
    	RadioButtonField f1 = new RadioButtonField("Male", g, true);
    	RadioButtonField f2 = new RadioButtonField("Female", g, false);
    	add(f1);
    	add(f2);

    	GaugeField percentGauge = new GaugeField("Age: ", 18, 40, 24, GaugeField.FOCUSABLE | GaugeField.EDITABLE);
        add(percentGauge);
        LabelField field = new LabelField("Hobbies:");
        add(field);

    	CheckboxField c1 = new CheckboxField("Movies", true);
    	CheckboxField c2 = new CheckboxField("Sport", false);
    	CheckboxField c3 = new CheckboxField("Dance", false);

    	GridFieldManager gfm = new GridFieldManager(1,3,GridFieldManager.USE_ALL_HEIGHT | GridFieldManager.USE_ALL_WIDTH);
    	gfm.add(c1);
    	gfm.insert(c2,1);
    	gfm.insert(c3,2);
    	add(gfm);

    	ChoiceField f = new ChoiceField("Education: ", 2, 0){
	    	public Object getChoice(int index) throws IllegalArgumentException
	    	{
	    		if (index == 0) return "High School";
	    		else if (index == 1) return "University";
	    		else return null;
	    	}
	    };
    	add(f);
    	ButtonField bt = new ButtonField("OK", ButtonField.FIELD_RIGHT);
    	add(bt);
        setTitle("Application Form");
    }
}

Reklamlar

09 Mar 2012 tarihinde BlackBerry içinde yayınlandı ve , , , , , , , , , olarak etiketlendi. Kalıcı bağlantıyı yer imlerinize ekleyin. Yorum yapın.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: