Merhabalar,

Ağustos ayındaki yazımda Android’in %49 pazar payıyla nasıl yükseldiğinden bahsetmiştim. Hürriyet’te okuduğum yazıda Android’in bu konuda daha ileri konuma vardığını gösteriyor.

Gartner’ın araştırmasıan göre 2011′in son çeyreğinde satılan her iki akıllı telefondan birinde Android kuru. Yüzde 50.9′luk pazar payıyla ilk sırada olan Android’i görüyoruz.

Görünen o ki Android gücüne güç katmaya devam ediyor.

Kaynak: http://www.hurriyet.com.tr/teknoloji/19924805.asp

Merhabalar,

Hayat sadece Bilgisayar dan oluşmuyor sonuçta.  Hoşuma giden bir hikayeyi sizinle paylaşmak istedim.

Profesör elinde bir Fare ve kutu ile salona girdi. Öğrencilerin şaşkın bakışları arasında fareyi kutunun içine koydu ve kutuyu kapattı. Salona dönerek: “Bu kutuya iki gün kimse dokunmasın!” dedi ve salondan çıkıp gitti.

Salondaki öğrenciler olaya bir anlam verememişlerdi. Ne olacağını merak ederek iki gün beklediler.

İki gün sonunda profesör salona girdi ve kutuya yaklaşarak açtı. Kutunun içindeki fare ölmüştü. Sınıfa dönerek farenin neden ölmüş olabileceğini sordu.

- Havasızlıktan…

- Açlıktan…

- Susuzluktan…

Her öğrenci olabilecek ihtimalleri saymıştı. Profesör kutuyu havaya kaldırıp içini öğrencilere gösterdi. Kutunun her tarafı kemirilmişti, her tarafı yıpranmıştı.

- Belli ki, Fare çıkmak için çok mücadele etmiş! Bunu kutuya bakınca anlıyoruz… Şu var ki, fareyi sizin dediğiniz gibi ne havasızlık, ne açlık, ne de susuzluk öldürdü! Fareyi asıl Kararsızlık ÖLDÜRDÜ!…

- Fare kutunun her yerini parçalayıp çıkacağına sadece bir köşeyi parçalasaydı ve bunda da kararlı olsaydı çıkıp kurtulacaktı.

Hayatımızda önümüze çıkan sorunları çözmek için enerjimizi bir noktaya yoğunlaştırırsak ve kararlı olursak, o sorunu bir şekilde çözebileceğimizi düşünüyorum…

 

Merhabalar,

Bu yazımda Android ile web servis örneğinden bahsetmeye çalışacağım. Şimdiye kadar local de çalışan örnekler vermiştim. Bu uygulamada ise internette bulunan bir servis bağlayıcısına bağlanacağız. Bu servisimiz bize Fahreneit ve Celcius arasında convert işlemimizi sağlamaktadır.  Bağlanacağımız bu serviste veriyi alabilmek için ksoap2 kütüphanesini kullanacağız.  Bu kütüphaneyi indirebilmek için http://code.google.com/p/ksoap2-android/ adresine gitmeniz gerekmektedir.

Bu kütüphaneyi projemize eklemek için  projemize sağ tıklayıp “Build Path”den “Configure Build Path”e tıklıyoruz. Libraries sekmesinde “Add External JARs” butonuna tıklıyoruz. İndirmiş olduğunuz ksoap2.jar dosyasını ekliyoruz.

Kütüphaneyi projemize ekledikten sonra projemize başlayabiliriz. Buradaki bağlandığımız servis W3School’un Celsius – Fahrenheit ve Fahrenheit-Celcius dönüşümü servisidir. Bu servise erişim sağlamak için ilk olarak projemizdeki AndroidManifest.xml dosyasında aşağıdaki kod satırını ekliyoruz.

<uses-permission android:name=”android.permission.INTERNET”></uses-permission>

Bunu yaptıktan sonra main.xml dosyasında tasarımı aşağıdaki resimde olacak gibi yapıyoruz.

 

Main.xml dosyasındaki kod satırı aşağıdaki gibi olacaktır.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
				android:orientation="vertical" android:layout_width="fill_parent"
				android:layout_height="fill_parent"
				android:weightSum="1">
        <RadioGroup android:id="@+id/radioGroup1" android:layout_width="wrap_content" android:layout_height="wrap_content">
            <RadioButton android:layout_height="wrap_content" android:id="@+id/radio0" android:layout_width="wrap_content" android:text="CelciustoFahren" android:checked="true"></RadioButton>
            <RadioButton android:layout_height="wrap_content" android:id="@+id/radio1" android:layout_width="wrap_content" android:text="FahrentoCelcius"></RadioButton>
        </RadioGroup>
<LinearLayout android:id="@+id/linearLayout1" android:layout_width="wrap_content" android:layout_height="wrap_content">
    <EditText android:id="@+id/txtValue" android:layout_height="wrap_content" android:layout_width="186dp"></EditText>
    <Button android:layout_width="148dp" android:layout_gravity="center" android:layout_weight="0.01" android:layout_height="wrap_content" android:clickable="false" android:id="@+id/btncevir" android:text="Çevir"></Button>
</LinearLayout>
<LinearLayout  android:layout_height="wrap_content" android:id="@+id/linearLayout2" android:layout_width="wrap_content">
    <TextView android:text="Sonuç  :" android:id="@+id/textView1" android:layout_height="42dp" android:layout_width="64dp"></TextView>
    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/lblResult"></TextView>
</LinearLayout>
</LinearLayout>

Daha sonra java dosyasında aşağıdaki kodu yazarak çalıştırıyoruz.

import java.io.IOException;

import org.ksoap2.SoapEnvelope;
import org.ksoap2.SoapFault;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.xmlpull.v1.XmlPullParserException;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.TextView;
import android.widget.EditText;
import android.widget.RadioGroup;

public class AndroidWSAccessActivity extends Activity implements OnClickListener {
	private Button cevirbutton;
    RadioButton myOption1, myOption2;
    private EditText valuText;
    private TextView result;
    final static String NAMESPACE = "http://tempuri.org/";
    final static String SERVICEURL = "http://www.w3schools.com/webservices/tempconvert.asmx";

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        cevirbutton = (Button) findViewById(R.id.btncevir);
        valuText = (EditText)findViewById(R.id.txtValue);
        result = (TextView)findViewById(R.id.lblResult);
        myOption1 = (RadioButton)findViewById(R.id.radio0);
        myOption2 = (RadioButton)findViewById(R.id.radio1);
        cevirbutton.setOnClickListener(this);
    }
    public void  onClick(View v)
    	{
    		if(myOption1.isChecked())
    		{
    			result.setText(invokeConverToCelciusWs() );
    		}
    	if (myOption2.isChecked()){
    		 result.setText(invokeConverToFahrenWs());
    	}
    	}
    public String invokeConverToCelciusWs()
    {
        String responseValue = "";
        //Webservisten istek için SoapObect oluşturuluyor ve  WebServiste hangi fonksiyon çalıştırılacak belirleniyor.
        SoapObject request = new SoapObject(NAMESPACE, "CelsiusToFahrenheit");
        //Invoke edeceğimiz foksiyona ait değişkenlere değer atıyor.
        request.addProperty("Celsius", valuText.getText().toString());
        //Kullanılacak versiyon bilgisi ile SoapSerializationEnvelope oluşturuyoruz.
        SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
        soapEnvelope.dotNet = true;
        //İsteğimizi zarf'a koyuyoruz
        soapEnvelope.setOutputSoapObject(request);

        HttpTransportSE aht = new HttpTransportSE(SERVICEURL);
        try {
                //Bilgilerin hangi SoapAction'a yollayacağımızı ve hangi bilginin gönderileceğini ayarlıyoruz.
            aht.call("http://tempuri.org/CelsiusToFahrenheit", soapEnvelope);
        } catch (IOException e) {
            e.printStackTrace();
        } catch (XmlPullParserException e) {
            e.printStackTrace();
        }
        try
        {
                //Gelen cevabı alıyoruz.
            responseValue = "Fahrenheit -> " + (SoapPrimitive) soapEnvelope.getResponse();
        } catch (SoapFault e) {
            e.printStackTrace();
        }
        return responseValue;
    }

    public String invokeConverToFahrenWs()
    {
        String responseValue = "";
        SoapObject request = new SoapObject(NAMESPACE, "FahrenheitToCelsius");
        request.addProperty("Fahrenheit", valuText.getText().toString());
        SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
        soapEnvelope.dotNet = true;
        soapEnvelope.setOutputSoapObject(request);

        HttpTransportSE aht = new HttpTransportSE(SERVICEURL);
        try {
        aht.call("http://tempuri.org/FahrenheitToCelsius", soapEnvelope);
        } catch (IOException e) {
            e.printStackTrace();
        } catch (XmlPullParserException e) {
            e.printStackTrace();
        }
        try
        {
        responseValue = "Celcius -> " + (SoapPrimitive) soapEnvelope.getResponse();
        } catch (SoapFault e) {
            e.printStackTrace();
        }
        return responseValue;
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event)
    {
        if(keyCode == KeyEvent.KEYCODE_BACK)
        {
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setMessage("Uygulamadan çıkmak istediğinize emin misiniz?")
                   .setCancelable(false)
                   .setPositiveButton("Evet", new DialogInterface.OnClickListener() {
                       public void onClick(DialogInterface dialog, int id) {
                    	   AndroidWSAccessActivity.this.finish();
                       }
                   })
                   .setNegativeButton("Hayır", new DialogInterface.OnClickListener() {
                       public void onClick(DialogInterface dialog, int id) {
                            dialog.cancel();
                       }
                   });
            AlertDialog alert = builder.create();
            alert.show();
            return true;
        }
        else
        {
            return super.onKeyDown(keyCode, event);
        }
    }

}

Projemizi çalıştırdığımızda aşağıdaki gibi bir görüntü elde edeceğiz.

Kaynak: http://www.kodfeed.com/android-ve-webservice/


		

Merhaba,

Bu yazımda dizi örneklerinden birinin kodunu paylaşacağım. Dizi örneklerine güzel bir örnek öğrencilerin notlarının belirttiğimiz dizide tutulması olacaktır.  Bu örnekte sabit olarak belirlediğimiz öğrenci notlarını GradeBookTest.java dosyamızda bir diziye aktarıyoruz. Daha sonra öğrencilerin notlarını gösteriyoruz. Minimum, Maksimum ve Ortalama değerleri kodumuzda hesaplatıp gösteriyoruz.

Ayrıca outputBarChart() içinde belirttiğimiz aralıklarda olan öğrenci notlarını * ile gösteriyoruz.

Aşağıdaki kodumuzu çalıştırdığınızda çıktısı aşağıdaki gibi olacaktır:

Welcome to the grade book for : Programlama
The grades are :
Student 1 : 87
Student 2 : 68
Student 3 : 94
Student 4 : 100
Student 5 : 83
Student 6 : 78
Student 7 : 85
Student 8 : 91
Student 9 : 76
Student 10 : 87
Class average is 84.9
Lowest grade is 68 Highest grade 100
Grade Distribution :
00-09:
10-19:
20-29:
30-39:
40-49:
50-59:
60-69:*
70-79:**
80-89:****
90-99:**
  100: *

 

GradeBook.java dosyası

public class GradeBook {

	private String courseName;
	private int grades[]; //Öğrenci notları grades dizininde tutuyoruz.

	public GradeBook(String name, int gradesArray[])
	{
		courseName=name;
		grades=gradesArray;
	}

	public void setCourseName(String name)
	{
		courseName=name;
	}

	public String getCourseName()
	{
		return courseName;
	}

	// kullanıcıya hangi ders için notları gösterdiğimizi belirtiyoruz
	public void displayMessage()
	{
		System.out.println("Welcome to the grade book for : "+ getCourseName());

	}

	public void processGrades()
	{
		outputGrades(); // Öğrenci notlarını gösteren metodu çağırıyoruz.

		System.out.println("Class average is "+getAverage()); // Sınıf ortalamasını gösteriyoruz

		System.out.println("Lowest grade is " +getMinimum()+" Highest grade "+ getMaximum()); // Minimum ve maksimum puanları gösteriyoruz.

		outputBarChart(); // Belirlediğimiz aralıklarda not alan öğrencileri * la gösteren bir grafik metodu çağırıyoruz
	}

	public int getMinimum()  // En düşük notu alan öğrenciyi buluyoruz
	{
		int lowgrade=grades[0];

		for (int grade:grades)
		{
			if (grade<lowgrade)
				lowgrade=grade;
		}
		return lowgrade;
	}

	public int getMaximum() // En yüksek notu alan öğrenciyi buluyoruz
	{
		int highgrade=grades[0];
		for (int grade:grades)
		{
			if (grade>highgrade)
				highgrade=grade;
		}
		return highgrade;
	}

	public double getAverage() //Sınıf ortalamasını hesaplıyoruz
	{
		int total=0;
		for (int grade:grades)
			total+=grade;
		return (double)total/grades.length;
	}

	public void outputBarChart() // Belirttiğimiz aralıklarda not alan öğrencileri * lar ile ifade ediyoruz
	{
		System.out.println("Grade Distribution :");

		int frequency[]=new int[11];

		for (int grade:grades)
			++frequency[grade/10];

		for (int count=0; count<frequency.length; count++)
		{
			if (count==10)
				System.out.printf("%5d: ",100);
			else
				System.out.printf("%02d-%02d:", count*10, count*10+9);

			for (int stars=0; stars<frequency[count];stars++)
				System.out.print("*");
				System.out.println();
		}
	}

	public void outputGrades() // Dizinimizdeki öğrenci notlarını gösteriyoruz
	{
		System.out.println("The grades are :");

		for (int student=0; student<grades.length;student++)
			System.out.println("Student "+(student+1)+" : "+grades[student]);
	}

}

GradeBookTest.java dosyası

public class GradeBookTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int gradesArray[]={87,68,94,100,83,78,85,91,76,87}; //Öğrenci notlarını sabit olarak giriyoruz

		GradeBook myGradeBook=new GradeBook("Programlama", gradesArray);
		myGradeBook.displayMessage();
		myGradeBook.processGrades();
	}

}

Merhabalar,

Programlamaya başladığınızda ilk olarak Hello World gibi yazılar yazmaya alışkınsanız, üç sayı arasında en büyük sayıyı göster örneğine de alışkınsınızdır. Bu yazımda böyle bir örneğin Java kodunu paylaşıyorum.  Kodların yanlarında bulunan commentlerde gerekli açıklamaları yaptım.

 

public class MaximumFinder {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		MaximumFinder max=new MaximumFinder();
		max.determineMaximum();
	}

	//3 farklı sayı al ve maximum sayıyı göster
	public void determineMaximum()
	{
		//Sayı girişi için Scanner oluştur
		Scanner input=new Scanner(System.in);

		//Kullanıcının sayıları girmesi istenir
		System.out.print("3 sayıyı aralarında boşluk bırakarak giriniz: ");
		int number1=input.nextInt();
		int number2=input.nextInt();
		int number3=input.nextInt();

		//Maximum sayıyı belirle
		int result=maximum(number1,number2,number3);

		//Maximum sayıyı gösterir
		System.out.println("Maximum sayı:" +result);
	}

	//3 sayı arasından maximum olanı gönderir
	public int maximum(int x,int y,int z)
	{
		int maximumValue=x; // Başlangıçta x sayısını en büyük sayı olarak atar.
		if (y>maximumValue) maximumValue=y; //Eğer ikinci sayı maximumValueden büyükse büyük sayı y olur
		if (z>maximumValue) maximumValue=z; //Eğer üçüncü sayı maximumValueden büyükse büyük sayı z olur

		return maximumValue;
	}
}

Diğer bir yöntem ise  Math.max fonksiyonu kullanmak olabilir. Örneğin : System.out.println(Math.max(x, Math.max(y,z)));  kodu ile üç sayıdan büyük olanı yazdırabilirsiniz.

Merhabalar,

Uzun bir aradan sonra tekrar yazılarıma devam ediyorum. Ufaktan java ile ilgilenirken onları paylaşayım.

Java’da iki tane class (sınıf) ımız olsun . Biri GradeBook diğeri GradeBookTest. GradeBookTest sınıfımızda diğer sınıfımızdaki bir methodu çağırma işlemini yaparken önce GradeBook objemizi GradeBookTest sınıfımızda tanımlarız ve bunu bir değişkene atarız. Değişkende gözüken metodlarda GradeBook sınıfımızdaki metodları da görebilirsiniz.

Örnek kodumuz:

GradeBook.java dosyamızdaki Kod:

public class GradeBook {

	//Gradebook kullanıcısına mesaj gösteriyoruz
	public void message()
	{
	System.out.println("Welcome to the Grade Book!");

	}// mesaj metodunun sonu

}

GradeBookTest.java dosyamızdaki kod:

public class GradeBookTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		// Gradebook objesi oluşturuyoruz ve bunu test  değişkenimize atıyoruz.
		GradeBook test= new GradeBook();
		//Gradebook taki mesajımızı çağırıyoruz
		test.message();

	}

}

Merhabalar,

Bu yazımda Android’te List Controlde basit olarak arrayden aldığım bilgileri liste şeklinde nasıl gösterdiğimden bahsedeceğim.

İlk olarak ListControl diye bir proje açıyorum. Projeme resimdeki gibi yeni bir xml dosyası ekliyorum ve bu xml dosyasının adını listelemede ülkeleri göstereceğimden countries olarak adlandırıyorum.

Daha sonra eklemiş olduğum countries.xml dosyasına resimdeki gibi ülkeleri sırasıyla ekliyorum.

Bu eklemiş olduğumuz ülke verilerini main.xml dosyasında gösterilebilmek için main.xml dosyasına resimdeki gibi Palette->Composite kısmından ListView i ekliyoruz.


Eklemiş olduğumuz ListView in bağlantısını sağlayabilmek için main.xml dosyasında id sini düzeltiyoruz.

Son olarak da java dosyamızda resimdeki gerekli değişiklikleri yaparak verilerimizin listelenmesini sağlıyoruz.

Burada ilk olarak extends den sonra gelen Activity yerine ListActivity yi ekledik. Daha sonra da bir listAdapter tanımlayarak verimizin oluşturmuş olduğumuz array içinden çekerek gösterilmesini sağladık.

Projemizi çalıştırdığımızda resimdeki gibi android te verilerimiz sırasıyla gösterilmektedir :)

 

Merhabalar,

Bu yazımda Android te hazırlamış olduğum KPDS ve ÜDS sınavlarının hesabını yapan bir uygulamadan bahsetmek istedim. Uygulamayı çalıştırdığımdaki ekran görüntüsü resimdeki gibi olacaktır.

İlk olarak hesaplamak istediğim sınavı seçiyorum. Daha sonra hangi seçmiş olduğum sınava ait doğru, yanlış ve boş cevap bilgilerimi giriyorum ve hesapla dediğimde aldığım puanı uygulama gösteriyor.

Ben uygulamayı geliştirirken ingilizce yaptım uygulamanızı dizayn ederken siz türkçe olarak yapabilirsiniz :)

Uygulamanızın dizaynını daha önceki yazılarımda da belirttiğim üzere main.xml dosyasından yapabilirsiniz. Daha sonra yapmanız gereken benim paylaştığım class dosyasını sizin oluşturduğunuz class dosyasına entegre etmeniz gerekecek.

package com.KPDS_UDS_Calculator;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.EditText;
import android.widget.TextView;

public class KPDS_UDS_CalculatorActivity extends Activity implements OnClickListener {
 EditText correctnumber;
 EditText wrongnumber;
 EditText emptynumber;
 TextView grade;
 TextView warning;
 RadioButton kpds;
 RadioButton uds;
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.main);
 kpds=((RadioButton) findViewById(R.id.kpds));  //KPDS Radiobutonunu kpds değişkenine atıyoruz.
 uds=((RadioButton) findViewById(R.id.uds)); //ÜDS Radiobutonunu üds değişkenine atıyoruz.
 kpds.setChecked(true); //KPDS butonu ilk olarak seçili hale getiriyoruz.

 correctnumber = (EditText) this.findViewById(R.id.correct); //Doğru sayısını gireceğimiz textin içeriğini correctnumber değişkenine atıyoruz
 wrongnumber = (EditText) this.findViewById(R.id.wrong);  //Yanlış sayısını gireceğimiz textin içeriğini wrongnumber değişkenine atıyoruz.
 grade = (TextView) this.findViewById(R.id.grade); //Notunuzun gösterileceği textin içeriği grade değişkenine atıyoruz.
 warning = (TextView) this.findViewById(R.id.warning); //Kullanıcı yanlış veri girdiğinde uyarı mesajı vermek amacıyla warning değişkeni tanımlıyoruz.

 emptynumber = (EditText) this.findViewById(R.id.empty); //Boş sayısını gireceğimiz textin içeriğini emptynumber değişkenine atıyoruz.

 Button calculate = (Button) findViewById(R.id.calculate); //Calculate(Hesapla) butonunu calculate değişkenine atıyoruz.
 calculate.setOnClickListener( this); //Calculate butonuna tıklandığında onclick olayını tetikliyoruz.
 }

 public void onClick(View v) {
 double sum,x,y,z=0;
 x=Double.parseDouble(correctnumber.getText().toString()); //Değişkenlerimizi double a çeviriyoruz
 y=Double.parseDouble(wrongnumber.getText().toString());
 z=Double.parseDouble(emptynumber.getText().toString());
 sum=(x+y +z); //Toplamlarını sum değişkenine atıyoruz
 if (kpds.isChecked()) { // KPDS sınavı işaretli ise 
 if (sum<=100) { // toplam sayı 100 eşit ve 100 den küçük ise kpdscalculate fonksiyonunu çağırıyoruz
 kpdscalculate();
 }
 else {
 warning.setText("Number of answers cannot be greater than 100"); // Toplam sayının 100 den büyük olamayacağını belirtiyoruz
 }
 }
 if (uds.isChecked()) { // ÜDS sınavı işaretli ise
 if (sum<=80) { //Toplam sayı 80 e eşit ve 80 den küçük ise udscalculate fonksiyonunu çalıştırıyoruz
 udscalculate();
 }
 else {
 warning.setText("Number of answers cannot be greater than 80"); // Toplam soru sayısının 80 den büyük olamayacağını mesaj veriyoruz
 }

 }
 }

 protected void kpdscalculate() { //KPDS puanını hesaplıyoruz
 double val = Double.parseDouble(correctnumber.getText().toString());
 warning.setText("");
 grade.setText(Double.toString(val*1.0));
 }
 protected void udscalculate() { // ÜDS puanını hesaplıyoruz
 double val = Double.parseDouble(correctnumber.getText().toString());
 warning.setText("");
 grade.setText(Double.toString(val*1.25));
 }

 }

Bu yazımda Android te yapmış olduğum KPDS ve ÜDS sınavlarını hesaplayan uygulamadan bahsetmeye çalıştım. Umarım bu ve benzeri uygulamalarınızda size yardımı olur :)

Merhabalar,

Bu yazımda Java da basit bir frame ve panel nasıl oluşturulur bundan bahsedeceğim. Resimde gördüğünüz bir frame in oluşmasını kod ile tek tek açıklayalım.

İlk olarak import java.awt.*;  import javax.swing.*; kodları ile java.awt ve javax.swing kütüphanelerini projemize ekliyoruz.

public static void main(String[] args) {

// TODO Auto-generated method stub

JFrame frame= new JFrame(“Frame Başlığı”); // Yeni bir frame oluşturuyoruz ve burada frame in başlığını belirtiyoruz.

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JPanel primary= new JPanel(); // Yeni bir Panel oluşturuyoruz ve primary olarak belirtiyoruz.

primary.setBackground(Color.yellow); // Panelin arkaplan rengini sarı olarak belirtiyoruz.

primary.setPreferredSize(new Dimension(250,75)); // Panelimizin boyutlarını 250,75 olarak belirtiyoruz.

JLabel label1 =new JLabel(“Panel mesajının içeriği 1″); //Panelimizde gözükmesini istediğimiz içeriği JLabel kodu ile tanımlıyoruz.

JLabel label2 =new JLabel(“Panel mesajının içeriği 2″);

primary.add(label1); // Gözükmesini istediğimiz içeriği panelimize ekliyoruz

primary.add(label2);

frame.getContentPane().add(primary); //Gözükmesini istediğimiz paneli frame mizin içine ekliyoruz.

frame.pack();

frame.setVisible(true);

}

Ben bu yazımda bir tane panelin bir framede gösterilmesinden bahsettim ama siz birden fazla panel tanımlayıp aynı frame içine de ekleyebilirsiniz :)

Merhabalar,

Silverlight a olan destekle piyasada çok güzel örnekler görmekteyiz. Bende bu yazımda Silverlight ta oluşturmuş olduğum çok hoş olan bir galeri örneğinden bahsetmek istedim.

Resimdeki gibi çoklu resimler için mükemmel bir galeri örneği.

Benim oluşturduğum galeri de Türkiye’den Sinop, Ankara, İstanbul ve Kastamonu şehirlerinden bir kaç resim bulunmaktadır.

Resimleri istediğiniz şekilde kategori edebilirsiniz bu galeride. Ayrıca resme çift tıklayınca resimle ilgili daha fazla bilgi görüntülenmesi de mümkündür.

Ayrıntılı inceleyebilmek için http://ekremyildiz.net/Dosyalar/Galeri/ adresindeki örneğe bakabilirsiniz :)

Silverlight ın bu güzel galerisi ile şirketlerin ürünlerini göstermek de mümkündür. Kategori, Açıklama gibi özelliklerinin yanında ayrıca fiyat vs. kategorilere bölerek daha fazla seçenek sunabilirsiniz :)