24 Mayıs 2010 Pazartesi

iReport'ta null sorunu ve çözümü

Raporu tasarladınız ve kodu yazdınız. Boş gelen alanlar rapora basıldığında boş gözükmesi yerine "null" diye yazar. Kötü br görüntü :) Oysa ki siz eger içeride değer yoksa hiçbirşey yazmamasını istersiniz.

bunun için de çözüm basit.

aslında textField olarak tanımlanmış tüm alanlar için bu uygulamayı yaparsak tekrar aynı sorunla karşılaşılmaz. alan(lar) seçilir ve yine sağ taraftaki properties'den "Blank When Null" kutucuğunu işaretleyip (.jasper uzantılı dosyayı silmeyi unutmuyoruz) tekrar programı çalıştırdığımızda sorunumuz ortadan kalkmış olacaktır.

.
.
.

iReport Türkçe karakter sorunu ve çözümü

Eclipse'te;

Map allJrxmlParams = new HashMap();

allJrxmlParams.put("adi", "Ayşe Fatma");

adi alanına String olarak verebilecğeimiz gibi veri tabanından da çekerek verebiliriz.


ireport ile formu tasarladınız ve eclipse'de ilgili alana ilgili kaydı getirdiniz. Fakat türkçe karakter sorunu ortaya çıktı.

Bunun çözümü :

$F{adi}

ilgili alanı secip sağ tarafta bulunan Properties'deki Pdf Encoding ayarını "CP1254 (Turkish)" olarak secip kaydediyoruz.

ilgili jrxml daha önceden derlendiği için .jasper uzantılı dosyayı siliyoruz. aksi takdirde yapılan değişiklik kaydedilmeyecektir.

sildikten sonra tekrar derlendiğinde türkçe karakter sorunu ortadan kalkmış olacaktır.

14 Mayıs 2010 Cuma

Locale göre ayları getirmek :)

.
.
.

Ay isimlerini tek tek message bundle'lara yazmak yerine şu şekilde bir kod buldum :)

programda hangi dil seçilirse o dil'e göre getirmekte ay isimlerini



int month = 4;
int year = 2010;

//Get Month's Names by locale :)
// Locale locale =Locale.getDefault();
Locale selectedLanguage = (Locale) Component.getInstance("org.jboss.seam.core.locale");
DateFormatSymbols symbols = new DateFormatSymbols(selectedLanguage);
String[] months = symbols.getMonths();

String monthN = months[month - 1];
allJrxmlParams.put("bordroAyYil", monthN + " / " + year);
.
.

26 Nisan 2010 Pazartesi

HashMap içindeki en yüksek key,value nasıl bulunur?

.
.
.
System.out.println("HashMap'in yüksek değeri (Value) " +

Collections.max(hm.values()) + ", ve HashMap'in yüksek anahtarı (Key) " +

(Collections.max(hm.keySet())));
.
.
.

19 Nisan 2010 Pazartesi

SQL left join right join

.
.
.

SELECT column_ad(ları)
FROM tablo_adı1
LEFT JOIN tablo_adı2
ON tablo_adi1.column_adi = tablo_adi2.column_adi


LEFT JOIN anahtarı tablo 1'deki tüm satırları getirir tablo 2 'de karşılığı olmasada...

RIGHT JOIN anahtarı ise tablo2'deki tüm satırları getirir tablo1'de karşılığı olmasada :)

kaynak : http://www.w3schools.com/sql/sql_join_right.asp

.
.
.

9 Nisan 2010 Cuma

Polimorfizm

minerallerin aynı kimyasal bileşiminde olupta diğer fiziksel özelliklerinin farklı olması olayına denir. farklı iki şekilde bulunan bileşiğe dimorf, üç şekilde bulunana trimorf denir.

örnek: en yaygın örnektir; kömür ve elmas aynı iç yapıya sahip olmalarına rağmen, atomlarının sahip olduğu farklı bağ yapısı bunların birbirlerinden çok farklı fiziksel özelliğe sahip olmalarına neden olmuştur.(*) *itusozluk

konuya buradan giriş yaparsak önce olayın ne olduğunu gerçek hayattan örnek olarak görmüş oluruz.

bunu java'ya uyguladığımızda da yine adı polimorfizm olarak geçmektedir.

Java, türetilen sınıfa ait bir variable ya da referansın ondan türemiş (extends) olan nesne ya da nesnelerde kullanılması anlamına gelir.

Alt sınıf, türetildiği ana sınıfa ait tüm özellikleri alır; yani, ana sınıf ne yapıyorsa türetilen alt sınıfta bu işlemlerin aynısını yapabilir ama türetilen alt sınıfların kendilerine ait bir çok yeni özelliği de olabilir. (http://www.bilgisayarmuhendisleri.com/sayfa.aspx?s=38)

upcasting : türetilen alt sınıfa ait nesnenin, ana sınıf tipindeki referansa bağlamanın yukarı doğru yani >

Araba sınıfına ait bir metot var : public void sur() { System.out.println("Araba Sur");}

Aile arabası ve yarış arabası ürettik (Araba sınıfını extend ettik)

public class DenemeSurusu {
public static void arabaDene(Araba ar) {
ar.sur();
}

public static void main(String args[]) {
arabaDene( new YarisArabasi() ) ;
}

}

arabaDene metodu Araba tipinde bir bir obje kabul etmekte iken biz ona YarisArabasi tipinde bir obje verdik. YarisArabasi > Araba'dan türedi bu olaya upcasting diyoruz.

Sonucda türemiş olan obje her zaman ana objenin methodlarına veya değişkenlerine sahip olacaktır(private lar hariç ) ama yeni türetilmiş olan bu objenin ekstradan methodları veya değişkenleri olabilir.

Downcasting , daha genel bir tipden daha gelişmiş bir değişim ise upcasting kadar basit ve güvenli olmayabilir .Eğer bir yer de upcasting veya downcasting den bahsediliyorsa orada kesinlikle inheritance (kalıtım) vardır .

super.metodAdi(); denildiğinde türetildiği sınıfın uygulamalarını gerçekleştirir.

Şuanki tarihin 6 ay sonrası tarihi getirmek

public static void main(String[] args) {


Calendar now = Calendar.getInstance();
now.add(Calendar.MONTH,6);

String altiAySonrasi =(now.get(Calendar.DATE) -1) + "/" + (now.get(Calendar.MONTH) + 1)+ "/"+ now.get(Calendar.YEAR);

System.out.println("Alti ay sonrasi : " + altiAySonrasi);

// Calendar now = Calendar.getInstance();
// System.out.println("Current date : " + (now.get(Calendar.MONTH) + 1)
// + "-"+ now.get(Calendar.DATE)+ "-" + now.get(Calendar.YEAR));
//
//
// now.add(Calendar.MONTH,6);
//
// System.out.println("date after 6 months : " + (now.get(Calendar.MONTH) + 1)+ "-"
// + (now.get(Calendar.DATE) -1) + "-"+ now.get(Calendar.YEAR));
//
// now = Calendar.getInstance();
// now.add(Calendar.MONTH, -5);
//
// System.out.println("date before 5 months : " + (now.get(Calendar.MONTH) + 1)
//
// + "-"+ now.get(Calendar.DATE) + "-"+ now.get(Calendar.YEAR));

}

Bugünün tarihi : 09/04/2010.....

Çıktısı : Alti ay sonrasi : 8/10/2010

kaynak: http://www.java-examples.com