<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Kamil ÖRS &#187; Java</title>
	<atom:link href="http://www.kamilors.com/category/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kamilors.com</link>
	<description>Bir programcının anatomisi</description>
	<lastBuildDate>Fri, 17 Sep 2010 17:04:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Java 2D Demo Çalışma</title>
		<link>http://www.kamilors.com/java-2d-demo-calisma/</link>
		<comments>http://www.kamilors.com/java-2d-demo-calisma/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 19:21:46 +0000</pubDate>
		<dc:creator>Kamil</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Java 2D]]></category>
		<category><![CDATA[2d]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[oyun]]></category>
		<category><![CDATA[yılan]]></category>

		<guid isPermaLink="false">http://www.kamilors.com/?p=282</guid>
		<description><![CDATA[Zamanında (09/06/2009)  java 2d ile bir iki saat boş vaktimde yapmış olduğum  yılan oyununu öğrenci arkadaşlara kaynak olabilir diye yayınlıyorum&#8230;  Oyunun bir amacı yoktur sadece başlangıç düzeyindedir ve tamamlanmamıştır. Netbeans 6.5.1 üzerinde geliştirdiştim. Netbeans kullananlar kolayca proje olarak netbeans&#8217;e ekleyebilirler  Klavye Yön tuşları ile yılanın yönünü sağ, sol , yukarı, aşağı olarak değiştrebilirsiniz. Space tuşuna bastığınızda [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Zamanında (09/06/2009)  java 2d ile bir iki saat boş vaktimde yapmış olduğum  yılan oyununu öğrenci arkadaşlara kaynak olabilir diye yayınlıyorum&#8230;  Oyunun bir amacı yoktur sadece başlangıç düzeyindedir ve tamamlanmamıştır.</p>
<p>Netbeans 6.5.1 üzerinde geliştirdiştim. Netbeans kullananlar kolayca proje olarak netbeans&#8217;e ekleyebilirler <img style="position: relative; top: 2px; border: 0px initial initial;" title="Smilie" src="http://forum.ceviz.net/images/smilies/smile.gif" border="0" alt="" /></p>
<p>Klavye Yön tuşları ile yılanın yönünü sağ, sol , yukarı, aşağı olarak değiştrebilirsiniz. Space tuşuna bastığınızda ise yılanın, bastığınız andaki konumunu ve hızını gösterir.</p>
<p>Page Up ile yılanın hızını arttırabilir, Page Down tuşu ile azaltabilirsiniz.</p>
<p><a href="http://www.kamilors.com/files/demo2.jar.zip">Buradan </a>çalışır jar dosyasını , <a href="http://www.kamilors.com/files/Demo2.zip">şuradan </a>ise projenin kaynak kodlarını indirebilirsiniz&#8230;</p>
<p><a href="http://www.kamilors.com/wp-content/uploads/javayilan.png"><img style="display: block; margin-left: auto; margin-right: auto; border: 0px initial initial;" title="javayilan" src="http://www.kamilors.com/wp-content/uploads/javayilan.png" alt="javayilan" width="517" height="265" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kamilors.com/java-2d-demo-calisma/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FusionCharts ve JSF</title>
		<link>http://www.kamilors.com/fusioncharts-ve-jsf/</link>
		<comments>http://www.kamilors.com/fusioncharts-ve-jsf/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 11:38:18 +0000</pubDate>
		<dc:creator>Kamil</dc:creator>
				<category><![CDATA[Genel]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Jsf]]></category>
		<category><![CDATA[charting]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[grafik]]></category>
		<category><![CDATA[raporlama]]></category>

		<guid isPermaLink="false">http://www.kamilors.com/?p=268</guid>
		<description><![CDATA[Raporlamalar, programların olmazsa olmaz bileşenlerindendir. Veri satırlarını en iyi şekilde analiz edip kullanıcılara sunduğumuzda sayılardan ve etiketlerden oluşan bir tablonun ilk bakışta algılanabilmesi gerçekten zordur. İktisatta, verilerin analizi için bazı grafikler (cizgisel, pasta vs.) üretilmiştir. Bu sayede analizciler sunum yapar iken grafikleri insanlara çok daha rahat anlatabilmektedir. Bundan yola çıkarak programlarda da veri grafikleri ile [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.kamilors.com/wp-content/uploads/fusioncharts.jpeg"><img class="size-full img wp-image-269 aligncenter" title="Fusion Charts" src="http://www.kamilors.com/wp-content/uploads/fusioncharts.jpeg" alt="Fusion Charts" width="510" /></a></p>
<p style="text-align: center;">
<p style="text-align: left;">Raporlamalar, programların olmazsa olmaz bileşenlerindendir. Veri satırlarını en iyi şekilde analiz edip kullanıcılara sunduğumuzda sayılardan ve etiketlerden oluşan bir tablonun ilk bakışta algılanabilmesi gerçekten zordur. İktisatta, verilerin analizi için bazı grafikler (cizgisel, pasta vs.) üretilmiştir. Bu sayede analizciler sunum yapar iken grafikleri insanlara çok daha rahat anlatabilmektedir. Bundan yola çıkarak programlarda da veri grafikleri ile kullanıcılara rapor vermek standart bir hal almıştır diyebiliriz. Bilgisayar dilince bu tür araçlara charting library denmekte.</p>
<p><span id="more-268"></span></p>
<p style="text-align: left;">Java ve diğer diller için oldukça gelişmiş bir çok charting kütüphanesi bulunmakta. Bunların bir çoğu jfreechart kütüphanesi gibi ücretsiz. Raporlamalarda kullanacağımız pasta, cizgisel vs. grafikleri şık , animasyonlu ve kullanıcı ile iletişim halinde sunabilmemize olanak sağlayan FusionCharts , flash kullanılarak yapılmış. FusionCharts&#8217;ı web uygulaması geliştirilebilinen her programlama dilinde kullanabiliriz. Çünkü javascript , flash ve xml kullanılarak grafikler üretiliyor.</p>
<p style="text-align: left;">FusionCharts&#8217;ı, jsf ile birlikte kullanabilmek için kendimiz özel bir jsf tag library yazmamız gerekiyor. İnternette ufak bir araştırmadan sonra birilerin bu işi bizim için jsf 1.2 uyumlu olarak yapmış olduğu gördüm. Jsf 1.2 ile birlikte kısa bir test sürecinden geçirdim ve sonuç harika bir şekilde çalışıyor <img src='http://www.kamilors.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: left;">FusionCharts&#8217;ı , JSF&#8217;e adapte etmek için öncelikle <a title="FusionCharts JSF Tag Library" href="fusionchartstaglibJSF1-2.jar" target="_blank">şuradan </a> fusionchart için yazılmış olan jsf tag library bilgisayarınıza indirin. Daha sonra indirdiğiniz bu kütüphaneyi projenize kütüphane olarak ekleyin. Bu işlemi de tamamladıktan sonra sıra web.xml dosyamızda küçük bir tanımlama ile fusioncharts taglarını projemize tanımlıyoruz. aşağıdaki tagları &lt;web-app&gt;&lt;/wep-app&gt; arasına ekleyin.</p>

<div class="wp_codebox"><table><tr id="p2686"><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code" id="p268code6"><pre class="xml" style="font-family:monospace;">    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;context-param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>facelets.LIBRARIES<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param-name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;param-value<span style="color: #000000; font-weight: bold;">&gt;</span></span></span> /WEB-INF/lib/fusioncharts.taglib.xml <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/param-value<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/context-param<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>Bu kodu ekledikten sonra sayfalarımızda artık fusioncharts ile ilgili jsf taglarını kullanabiliriz. </p>
<p>Sayfalarımızda kullanabilmek için fusioncharts ile ilgili tablib prefix&#8217;ini sayfaya eklemeliyiz.</p>

<div class="wp_codebox"><table><tr id="p2687"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p268code7"><pre class="xhtml" style="font-family:monospace;">&lt;%@taglib prefix=&quot;fc&quot; uri=&quot;http://www.fusioncharts.com&quot; %&gt;</pre></td></tr></table></div>

<p>Ayrıca prefix eklediğiniz gibi FusionCharts&#8217;a ait javascript dosyasınıda projenize dahil etmelisiniz.</p>

<div class="wp_codebox"><table><tr id="p2688"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p268code8"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span> src<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;FusionChart/FusionCharts.js&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>Burada küçük bir ayrıntı var. FusionCharts dan indirdiğiniz swf dosyaları ve javascript dosyasını jsf sayfalarınızın bulunduğu dizinde bir klasör altına eklemelisiniz. Ben FusionChart diye bir klasör açarak gerekli dosyaları oraya attım.</p>
<p>Küçük bir örnek yapmak gerekirse:</p>
<p>jsf sayfamız:</p>

<div class="wp_codebox"><table><tr id="p2689"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
</pre></td><td class="code" id="p268code9"><pre class="xhtml" style="font-family:monospace;">&lt;%@page contentType=&quot;text/html&quot; pageEncoding=&quot;UTF-8&quot;%&gt;
&nbsp;
&lt;%@taglib prefix=&quot;f&quot; uri=&quot;http://java.sun.com/jsf/core&quot;%&gt;
&lt;%@taglib prefix=&quot;h&quot; uri=&quot;http://java.sun.com/jsf/html&quot;%&gt;
&lt;%@taglib prefix=&quot;fc&quot; uri=&quot;http://www.fusioncharts.com&quot; %&gt;
&nbsp;
&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;
   &quot;http://www.w3.org/TR/html4/loose.dtd&quot;&gt;
&nbsp;
&lt;%--
    This file is an entry point for JavaServer Faces application.
--%&gt;
&lt;f:view&gt;
    &lt;html&gt;
        &lt;head&gt;
            &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;/&gt;
            &lt;title&gt;JSP Page&lt;/title&gt;
            &lt;script type=&quot;text/javascript&quot; src=&quot;FusionChart/FusionCharts.js&quot;&gt;&lt;/script&gt;
        &lt;/head&gt;
        &lt;body&gt;
            &lt;h1&gt;&lt;h:outputText value=&quot;JavaServer Faces&quot;/&gt;&lt;/h1&gt;
            &lt;fc:render filename=&quot;FusionChart/Bar2D.swf&quot; height=&quot;600&quot; width=&quot;800&quot; xml=&quot;#{demo.data}&quot; chartId=&quot;mychart&quot; debugMode=&quot;true&quot; /&gt;
        &lt;/body&gt;
    &lt;/html&gt;
&lt;/f:view&gt;</pre></td></tr></table></div>

<p>Sonrasında burada kullandığımız demo bean sınıfının data değişkeni tanımlayalım.</p>

<div class="wp_codebox"><table><tr id="p26810"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
</pre></td><td class="code" id="p268code10"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Demo <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #008000; font-style: italic; font-weight: bold;">/** Creates a new instance of Demo */</span>
    <span style="color: #000000; font-weight: bold;">public</span> Demo<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">private</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> data <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&lt;chart caption='Monthly Unit Sales' xAxisName='Month' yAxisName='Units' showValues='0'&quot;</span><span style="color: #339933;">+</span>
            <span style="color: #0000ff;">&quot; decimals='0' formatNumberScale='0' chartRightMargin='30'&gt;&quot;</span><span style="color: #339933;">+</span>
        <span style="color: #0000ff;">&quot;&lt;set label='Jan' value='462' /&gt;&quot;</span><span style="color: #339933;">+</span>
        <span style="color: #0000ff;">&quot;&lt;set label='Feb' value='857' /&gt;&quot;</span><span style="color: #339933;">+</span>
        <span style="color: #0000ff;">&quot;&lt;set label='Mar' value='671' /&gt;&quot;</span><span style="color: #339933;">+</span>
        <span style="color: #0000ff;">&quot;&lt;set label='Apr' value='494' /&gt;&quot;</span><span style="color: #339933;">+</span>
        <span style="color: #0000ff;">&quot;&lt;set label='May' value='761' /&gt;&quot;</span><span style="color: #339933;">+</span>
        <span style="color: #0000ff;">&quot;&lt;set label='Jun' value='960' /&gt;&quot;</span><span style="color: #339933;">+</span>
        <span style="color: #0000ff;">&quot;&lt;set label='Jul' value='629' /&gt;&quot;</span><span style="color: #339933;">+</span>
        <span style="color: #0000ff;">&quot;&lt;set label='Aug' value='622' /&gt;&quot;</span><span style="color: #339933;">+</span>
        <span style="color: #0000ff;">&quot;&lt;set label='Sep' value='376' /&gt;&quot;</span><span style="color: #339933;">+</span>
        <span style="color: #0000ff;">&quot;&lt;set label='Oct' value='494' /&gt;&quot;</span><span style="color: #339933;">+</span>
        <span style="color: #0000ff;">&quot;&lt;set label='Nov' value='761' /&gt;&quot;</span><span style="color: #339933;">+</span>
        <span style="color: #0000ff;">&quot;&lt;set label='Dec' value='960' /&gt;&quot;</span><span style="color: #339933;">+</span>
        <span style="color: #0000ff;">&quot;&lt;/chart&gt;&quot;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> getData<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">return</span> data<span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> setData<span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> data<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">data</span> <span style="color: #339933;">=</span> data<span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Sonuç olarak ekran görüntüsü</p>
<p style="text-align: center;"><a href="http://www.kamilors.com/wp-content/uploads/fusionjsf.jpg"><img src="http://www.kamilors.com/wp-content/uploads/fusionjsf.jpg" alt="fusionjsf" title="fusionjsf" width="510" class="img alignnone size-full wp-image-270" /></a></p>
<p>Sonuç olarak gerçekten şık ve kullanıcı ile iyi bir şekilde etkileşimli olan grafiksel raporlar sunabilirsiniz. FusionCharts ücretli olmasına karşın, birde ücretsiz sürümü var. Projelerinizde rahatlıkla kullanabilirsiniz.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kamilors.com/fusioncharts-ve-jsf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache Poi (MS Office Java API)</title>
		<link>http://www.kamilors.com/apache-poi-ms-office-java-api/</link>
		<comments>http://www.kamilors.com/apache-poi-ms-office-java-api/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 16:59:02 +0000</pubDate>
		<dc:creator>Kamil</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[kütüphane]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[microsoft office]]></category>
		<category><![CDATA[poi]]></category>

		<guid isPermaLink="false">http://www.kamilors.com/?p=214</guid>
		<description><![CDATA[Bazen kullanıcılara raporları Microsoft Office Dökümanıları (Word, Excel, Powerpoint vs.) olarak vermemiz istenir. Bunun için Java&#8217;da kullanabilceğimiz bir çok kütüphane mevcut. Bana göre bu kütüphanelerden en iyisi Apache grubunun yazmış olduğu POI isimli kütüphane. Poi&#8217;nin destek verdiği döküman formatları, Excel, Word, Powerpoint, OpenXML4J, OLE2 Filesystem, OLE2 Document Props, Outlook, Visio ve Publisher. Bu formattaki dokümanları [...]]]></description>
			<content:encoded><![CDATA[<p>Bazen kullanıcılara raporları Microsoft Office Dökümanıları (Word, Excel, Powerpoint vs.) olarak vermemiz istenir. Bunun için Java&#8217;da kullanabilceğimiz bir çok kütüphane mevcut. Bana göre bu kütüphanelerden en iyisi Apache grubunun yazmış olduğu POI isimli kütüphane. Poi&#8217;nin destek verdiği döküman formatları, <strong>Excel</strong>, <strong>Word</strong>, <strong>Powerpoint</strong>, <strong>OpenXML4J</strong>, <strong>OLE2 Filesystem</strong>, <strong>OLE2 Document Props</strong>, <strong>Outlook</strong>, <strong>Visio </strong>ve <strong>Publisher</strong>. Bu formattaki dokümanları okuyabilir ve yazabiliriz.</p>
<p>Apachi Poi&#8217;nin 3.2 versiyonunu <strong>COMPASS </strong>adlı bir projede kullanmaktayım.Şirkette Excel 2007 kullanılsada, Poi Excel satırlarına erişimde <strong>short </strong>türünden değişken kullandığı için  mecburen 32767 satır kullanabiliyorum (Short.MIN_VALUE == -32767 , Short.MAX_VALUE == 32767). İlk başlarda bu pek bir sorun yaratmasa da rapor olarak sunulan veri arttırkça satır sayıları yetmemeye başladı. Bu sorunu başka bir sheet oluşturarak halledebiliriz ama apache, poi&#8217;nin yeni (!) bir sürümünü yayınlamış (version 3.5) ve bu sürümde Excel 2007&#8242;ye de destek vermiş. Şuanki en güncel sürüm ise 3.6 <img src='http://www.kamilors.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Poi Excel Api olarak HSSF  isminde bir kütüphane sunuyor. Bu kütüphanede yukarıda bahsetttiğim gibi satırlara erişim için short tipinde sayılar kullanılıyor. Yeni sürümde bu kütüphaneye ek olarak XSSF isimli bir kütüphane daha eklenmiş. Bu kütüphane OOXML destekleniyor.<span id="more-214"></span></p>
<p>Poi&#8217;nin kullanımı hakkında biraz bilgi vermek gerekirse öncelikle <strong>http://poi.apache.org/</strong> adresinden poi&#8217;nin güncel sürümünü indirin. İndirdiğiniz sıkıştırılmış dosyayı açıktan sonra <strong>/poi-3.6 </strong>, <strong>/poi-3.6/lib</strong> ve <strong>/poi-3.6/ooxml-lib</strong> altındaki jar dosyalarını projenize kütüphane olarak ekleyin.</p>
<p><strong><span style="text-decoration: underline;">Yeni Workbook oluşturma:</span></strong></p>
<p>Yeni workbook oluşturmak için XSSFWorkbook sınıfından yaralanıyoruz.</p>

<div class="wp_codebox"><table><tr id="p21416"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p214code16"><pre class="java" style="font-family:monospace;">XSSFWorkbook workbook <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> XSSFWorkbook<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p><strong><span style="text-decoration: underline;">Oluşturulan Workbook&#8217;a yeni Sheet Eklemek:</span></strong></p>

<div class="wp_codebox"><table><tr id="p21417"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p214code17"><pre class="java" style="font-family:monospace;">XSSFSheet sheet <span style="color: #339933;">=</span> workbook.<span style="color: #006633;">createSheet</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Sheet Adı&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Bu şekilde çalışma kitabına istediğimiz kadar sheet ekleyebiliriz.</p>
<p><strong><span style="text-decoration: underline;">Sheet&#8217;e yeni satır ve hücre eklemek:</span></strong></p>

<div class="wp_codebox"><table><tr id="p21418"><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code" id="p214code18"><pre class="java" style="font-family:monospace;">XSSFRow row <span style="color: #339933;">=</span> sheet.<span style="color: #006633;">createRow</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
XSSFCell cell <span style="color: #339933;">=</span> row.<span style="color: #006633;">createCell</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
cell.<span style="color: #006633;">setCellValue</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Merhaba Dünya&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Bu kodlar A1 hücresine Merhaba dünya yazıyor. createRow ve createCell fonksiyonların integer olarak gönderdiğimiz sayılar satır ve sütün numaralarını temsil ediyor. Satır ve sütünları 0  dan başladığını kabul ediyoruz. Örn  10&#8242;a 15 değerleri K16 hücresini temsil ediyor.</p>
<p><strong><span style="text-decoration: underline;">Oluşturulan Workbook&#8217;u dosyaya yazmak:</span></strong></p>

<div class="wp_codebox"><table><tr id="p21419"><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code" id="p214code19"><pre class="java" style="font-family:monospace;"><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Afile+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">File</span></a> file <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span>  <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Afile+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">File</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;C:<span style="color: #000099; font-weight: bold;">\\</span>demo<span style="color: #000099; font-weight: bold;">\\</span>demo.xlsx&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Afileoutputstream+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">FileOutputStream</span></a> outputStream <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Afileoutputstream+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">FileOutputStream</span></a><span style="color: #009900;">&#40;</span>file<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
workbook.<span style="color: #006633;">write</span><span style="color: #009900;">&#40;</span>outputStream<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
outputStream.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p><strong><span style="text-decoration: underline;">toparlarsak:</span></strong></p>

<div class="wp_codebox"><table><tr id="p21420"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
</pre></td><td class="code" id="p214code20"><pre class="java" style="font-family:monospace;">    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
        <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Afile+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">File</span></a> file <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span>  <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Afile+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">File</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;C:<span style="color: #000099; font-weight: bold;">\\</span>demo<span style="color: #000099; font-weight: bold;">\\</span>demo.xlsx&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Afileoutputstream+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">FileOutputStream</span></a> outputStream <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Afileoutputstream+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">FileOutputStream</span></a><span style="color: #009900;">&#40;</span>file<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            XSSFWorkbook workbook <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> XSSFWorkbook<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            XSSFSheet sheet <span style="color: #339933;">=</span> workbook.<span style="color: #006633;">createSheet</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Kamil ÖRS&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            XSSFRow row <span style="color: #339933;">=</span> sheet.<span style="color: #006633;">createRow</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            XSSFCell cell <span style="color: #339933;">=</span> row.<span style="color: #006633;">createCell</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            cell.<span style="color: #006633;">setCellValue</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Merhaba Dünya&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            workbook.<span style="color: #006633;">write</span><span style="color: #009900;">&#40;</span>outputStream<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            outputStream.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000000; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Error: &quot;</span> <span style="color: #339933;">+</span> e<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>İşte bu kadar. Bu örnekte dikkat ettiyseniz OOXML destekleyen sınıfları kullandık. Eğer ki Office 2003 ve daha düşük sürümler için excel çıktısı oluşturacaksanız buradaki XSSF ile başlayan sınıflar yerine HSSF ile başlayanları kullanmanız lazım. Ayrıca createRow ve createCell fonksiyonlarınada integer yerine short türünden parametreler göndermeniz gerekiyor.</p>
<p style="text-align: center;"><img class="size-full wp-image-232 aligncenter img" title="poi_demo" src="http://www.kamilors.com/wp-content/uploads/poi_demo.jpg" alt="poi_demo" width="515" /></p>
<p>Bir dahaki sefere Poi ile hücrelere nasıl biçim verebileceğimize bakarız <img src='http://www.kamilors.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.kamilors.com/apache-poi-ms-office-java-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaFX Designer Tool</title>
		<link>http://www.kamilors.com/javafx-designer-tool/</link>
		<comments>http://www.kamilors.com/javafx-designer-tool/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 17:54:14 +0000</pubDate>
		<dc:creator>Kamil</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaFx]]></category>
		<category><![CDATA[animasyon]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[desiger]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.kamilors.com/?p=205</guid>
		<description><![CDATA[Java ile ilgilenen herkes mutlaka JavaFx ismini duymuştur. JavaFX  , Adobe Air ve Microsoft Silverlight&#8217;a karşı olarak çıkartılmış bir teknoloji. Şu an için 1.2 versionu indirilmeye sunulmuş. JavaFx ilk duyrulduğunda Javacıları oldukça heycanlandırmış fakat sonra bir çok eksik ile kullanıma sunulduğu orta çıkmıştı. Geliştiriciler, JavaFx&#8217;i duyurmak için Sun&#8217;ın erken davrandığını belirtip bu politikayı kötü bularak [...]]]></description>
			<content:encoded><![CDATA[<p>Java ile ilgilenen herkes mutlaka JavaFx ismini duymuştur. JavaFX  , Adobe Air ve Microsoft Silverlight&#8217;a karşı olarak çıkartılmış bir teknoloji. Şu an için 1.2 versionu indirilmeye sunulmuş. JavaFx ilk duyrulduğunda Javacıları oldukça heycanlandırmış fakat sonra bir çok eksik ile kullanıma sunulduğu orta çıkmıştı. Geliştiriciler, JavaFx&#8217;i duyurmak için Sun&#8217;ın erken davrandığını belirtip bu politikayı kötü bularak eleştirmişlerdi.</p>
<p>Sun, JavaFx geliştirme ortamı olarak Netbeans&#8217;ı işaret etmişti. Ne yazik ki Netbeans JavaFx geliştirmede kod tamamlama ve yazılan kodların çıktısını vermekten ileri gidemedi. Ayrıcana bir component panel ekleyip , component panelinden componetleri kod yazma editörümüze sürükleyerek bir nevi sürükle bırak code snippet eklemişlerdi. Tabi rakiplerine bakıldığında bu geliştirme ortamı oldukça zayıf kalıyordu. Grafik animasyon ile uğraşan ve etkileyici arayüz yapmak isteyen geliştiriciler için hiçte kolay olmayan bir ortam sunulduğu için,  Air ve Silverlight karşısında JavaFx&#8217;in bir şansı bana göre yoktu. Rasyonel bir programcı dil fanatikliği yapmayarak  en uygun teklojiyi seçmeli bence.</p>
<p>Diğer geliştiriciler de benim gibi düşünmüş olmaliki JavaFx ilk tanıtımındaki etkiki bir türlü verememişti. İş animasyon tasarımına gelince hardcore code yazmaktan hoşlanan javacılar bile bir flash benzeri araç olması gerektiği konusunda hemfikir oldular. İlk olarak JFXBuilder diye 3. parti bir araç sunuldu. Sloganıda The First JavaFX Vusial Designer oldu. Tabi bu araç da deneme çalışması havası olduğu için rakiplere göre oldukça sıradan bir araç görüntüsü vermekten kurtulamadı.<span id="more-205"></span></p>
<p>JavaFX umut bağlasa bile şuanki hali ile java severler tarafından eleştirilere mağruz kalmaya devam etti. Taki geçen sene yapılan JavaOne 2009 günlerindeki JavaFx ile ilgili sunumlar yapılana kadar. Sunumlarda sun yeni bir aracı tanıttı. Flash tarzında kolaycana animasyonlar yapmayı sağlayan hatta Adobe Photoshop ile de uyumlu olan bir aracı ortaya çıkardıklarını gösterdiler. İşte bu sefer JavaFx oldukça heyecanlandırdı. Bu aracı 2009&#8242;un son çeğreğinde kullanıma sunulacağı hakkında sun kaynaklı dedikodular yayıldı.</p>
<p>Gel zaman git zaman JavaOne 2009&#8242;un üzerinden günler geçti, köprünün altından çok sular aktı. Ama hala JavaFx Designer Tool&#8217;dan bir ses çıkmadı. Ben de bugün acaba bu JavaFx Designer Tool ne oldu diye bir araştırma yaptığımda , diğer javacılarında  Where is new javafx tool? şeklinde sorular yönettiklerini gördüm. Haksız da sayılmazlar <img src='http://www.kamilors.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Bu seferde Sun&#8217;ın JavaFx de yaptığı duyurma aceleciliğini JavaFx Designer Tool&#8217;da da yaptığını konuşuluyor.</p>
<p>Bakalım bu seneki JavaOne 2010 da bizi javafx ile ilgili ne tür yenilikler bekliyor <img src='http://www.kamilors.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Bu arada JavaFx Designer Tool hakkında araştırma yaparken yeni (!) iki tane ekran görüntüsüne rastladım.  JavaFx&#8217;i yakından takip ediyor olacağım <img src='http://www.kamilors.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: center;">
<p style="text-align: center;"><img class="img size-full wp-image-206 aligncenter" title="javafxtool" src="http://www.kamilors.com/wp-content/uploads/javafxtool.jpg" alt="javafxtool" width="525" /></p>
<p style="text-align: center;">
<p style="text-align: center;"><img class="size-full wp-image-208 aligncenter img" title="javafx-timeline-magic" src="http://www.kamilors.com/wp-content/uploads/javafx-timeline-magic.jpg" alt="javafx-timeline-magic" width="525" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kamilors.com/javafx-designer-tool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu&#8217;da JAVA_HOME Değişkeni Atama</title>
		<link>http://www.kamilors.com/ubuntuda-java_home-degiskeni-atama/</link>
		<comments>http://www.kamilors.com/ubuntuda-java_home-degiskeni-atama/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 09:28:24 +0000</pubDate>
		<dc:creator>Kamil</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[console]]></category>
		<category><![CDATA[java_home]]></category>

		<guid isPermaLink="false">http://www.kamilors.com/?p=200</guid>
		<description><![CDATA[Ubuntu&#8217;da konsolda java derleyebilmek ve bazı framework araçlarını kullanabilmek için sistem değişkeni olarak JAVA_HOME değerini tanıtmamız gerekmekte. Bunun için yapmamız gereken çok basit. 1 sudo pico /etc/bash.bashrc komutunu terminalde çalıştırıyoruz. Sonrasında bash.bashrc dosyasının en alt satırına aşağıdaki satırları ekliyoruz. 1 2 3 4 5 ####### JAVA_HOME SETTING ######## JAVA_HOME=/usr/lib/jvm/java-6-sun export JAVA_HOME PATH=$PATH:$JAVA_HOME/bin export PATH Yukarıdaki [...]]]></description>
			<content:encoded><![CDATA[<p>Ubuntu&#8217;da konsolda java derleyebilmek ve bazı framework araçlarını kullanabilmek için sistem değişkeni olarak JAVA_HOME değerini tanıtmamız gerekmekte. Bunun için yapmamız gereken çok basit.</p>

<div class="wp_codebox"><table><tr id="p20023"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p200code23"><pre class="dos" style="font-family:monospace;">sudo pico /etc/bash.bashrc</pre></td></tr></table></div>

<p>komutunu terminalde çalıştırıyoruz. Sonrasında bash.bashrc dosyasının en alt satırına aşağıdaki satırları ekliyoruz.</p>

<div class="wp_codebox"><table><tr id="p20024"><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code" id="p200code24"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">####### JAVA_HOME SETTING ########</span>
<span style="color: #007800;">JAVA_HOME</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>jvm<span style="color: #000000; font-weight: bold;">/</span>java-<span style="color: #000000;">6</span>-sun  
<span style="color: #7a0874; font-weight: bold;">export</span> JAVA_HOME
<span style="color: #007800;">PATH</span>=<span style="color: #007800;">$PATH</span>:<span style="color: #007800;">$JAVA_HOME</span><span style="color: #000000; font-weight: bold;">/</span>bin
<span style="color: #7a0874; font-weight: bold;">export</span> PATH</pre></td></tr></table></div>

<p>Yukarıdaki satırları ekledikten sonra CTRL+X sonrasında Y tuşuna basıp Enter diyerek dosyada yapılan değişiklikleri kaydediyoruz. Bu işlemler sonucunda tekrardan tekrardan komut satırı bizim komut girmemiz için beklemeye geçecektir. java_home değişkeninin aktif olup olmadığını görmek için şu komutu girerek test edebilirsiniz <strong>echo $JAVA_HOME</strong> . Bu komut çıktı olarak karşınıza şu mesajı yazmalı, <strong>/usr/lib/jvm/java-6-sun-1.6.0.14</strong>.</p>
<p>Artık terminalden java ile ilgili her türlü işlemi yerine getirebilirsiniz.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kamilors.com/ubuntuda-java_home-degiskeni-atama/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java Thread Kullanımı</title>
		<link>http://www.kamilors.com/java-thread-kullanimi/</link>
		<comments>http://www.kamilors.com/java-thread-kullanimi/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 14:16:37 +0000</pubDate>
		<dc:creator>Kamil</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[jframe]]></category>
		<category><![CDATA[thread]]></category>

		<guid isPermaLink="false">http://www.kamilors.com/?p=184</guid>
		<description><![CDATA[Java Thread (Kanal) kullanımı ile internette pek çok örnek mevcut olmasına rağmen bir örnekte ben vereyim. Felis Project için gerekli bir kod parçacığında Java Thread kullanmak zorunda kaldım. Bunun nedeni ise google&#8217;ı iyi bir şekilde (pekte iyi sayılmaz ) aramama rağmen JFrame penceresinin taşınmasına ait hergangi bir window listener kodu bulamamam. Yapmak istediğim aslında çok [...]]]></description>
			<content:encoded><![CDATA[<p>Java Thread (Kanal) kullanımı ile internette pek çok örnek mevcut olmasına rağmen bir örnekte ben vereyim. Felis Project için gerekli bir kod parçacığında Java Thread kullanmak zorunda kaldım. Bunun nedeni ise google&#8217;ı iyi bir şekilde (pekte iyi sayılmaz <img src='http://www.kamilors.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  ) aramama rağmen JFrame penceresinin taşınmasına ait hergangi bir window listener kodu bulamamam.</p>
<p>Yapmak istediğim aslında çok basit bir olay. JFrame eğerki kullanıcı tarafından taşınmış ise (yani ekrandaki konumu değişmis ise ) bunu yakalayan bir listener fonksiyonu lazımdı. Ama pencereler ile ilgili dinleyicisine ait; active, deactive , opened, closed, iconified, deiconified gibi fonksiyonların yer almasına karşın benim istediğim türde bir fonksiyon yok.</p>
<p>Bende bu nedenle bu işi thread ile halletmeye karar verdim.<span id="more-184"></span></p>
<p>Öncelikle JFrame&#8217;den türetilmiş bir Çizim penceresi ve yine JFrame&#8217;den türetilmiş bir Araçlar penceresi var. Araçlar penceresi , Çizim  penceresinin konumuna bakarak kendi konumunu ayarlamalı. Onun için Araçlar penceresinde Çizim penceresine ait bir referans tanımlıyorum. Sonrasında Araçlar penceresi Örneklenirken aynı zamanda Çizim penceresinin konumunu tarayan bir thread başlatmak gerek (Daha performanslı bir yolu var ise lütfen beni uyarın).</p>
<p><code> </code></p>
<p><code></p>

<div class="wp_codebox"><table><tr id="p18426"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
</pre></td><td class="code" id="p184code26"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> AraclarFrame <span style="color: #000000; font-weight: bold;">extends</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Ajframe+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">JFrame</span></a> <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">private</span> CizimFrame cizim<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> CizimLocationListener cizimListener<span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> ToolKitFrame<span style="color: #009900;">&#40;</span>CizimFrame cizim<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
         <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">cizim</span> <span style="color: #339933;">=</span> cizim<span style="color: #339933;">;</span>
         cizimListener <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> CizimLocationListener<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
         cizimListener.<span style="color: #006633;">start</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Konum Taramayı başlatıyoruz.</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">class</span> CizimLocationListener extend <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Athread+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Thread</span></a> <span style="color: #009900;">&#123;</span>
         <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> run<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
             <span style="color: #000066; font-weight: bold;">int</span> x, y<span style="color: #339933;">;</span>
             <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
                  <span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                        sleep<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">200</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// İşlemciyi sömürmemesi için biraz bekletiyoruz.</span>
                        x <span style="color: #339933;">=</span> cizim.<span style="color: #006633;">getLocation</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">x</span> <span style="color: #339933;">+</span> cizim.<span style="color: #006633;">getWidth</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span>getWidth<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Cizim penceresinin Sağından Araçlar penceresinin genişliği + 20px kadar içeri</span>
                        y <span style="color: #339933;">=</span> cizim.<span style="color: #006633;">getLocation</span>.<span style="color: #006633;">y</span> <span style="color: #339933;">+</span> getHeight<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Çizim penceresinin yukarısından Araçlar penceresinin yüksekliği kadar içeri.</span>
                       setLocation<span style="color: #009900;">&#40;</span>x,y<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Araçlar penceresinin Konumunu yeniden ayarlıyoruz.</span>
                 <span style="color: #009900;">&#125;</span>
            <span style="color: #009900;">&#125;</span>
            <span style="color: #000000; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Exception</span></a> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;HATA: &quot;</span> <span style="color: #339933;">+</span> e<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p></code><br />
İşte bu kadar. windowsta işlemciyi herhangi bir şekilde yormasada, linuxde (ubuntu) acayip bir şekilde işlemciyi kullanıyor. Araştırmalarım devam etmekte. Bu işlemi daha masrafsız nasıl yapabilirim diye düşünüyorum <img src='http://www.kamilors.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Tüm bunları anlattıktan sonra Felis&#8217;ten bir ekran görüntüsü vereyim.</p>
<p style="text-align: center;"><img class="img  aligncenter" title="Felis Project" src="http://www.vizyonyazilim.com/felis/felis_screenshot.jpg" alt="" width="500" height="350" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kamilors.com/java-thread-kullanimi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LCD Ekrana göre Java 2D Api drawString</title>
		<link>http://www.kamilors.com/lcd-ekrana-gore-java-2d-api-drawstring/</link>
		<comments>http://www.kamilors.com/lcd-ekrana-gore-java-2d-api-drawstring/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 08:57:58 +0000</pubDate>
		<dc:creator>Kamil</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Java 2D]]></category>
		<category><![CDATA[draw]]></category>
		<category><![CDATA[draw text]]></category>
		<category><![CDATA[drawString]]></category>
		<category><![CDATA[lcd]]></category>
		<category><![CDATA[screen]]></category>

		<guid isPermaLink="false">http://www.kamilors.com/?p=179</guid>
		<description><![CDATA[Java 2D Api kullanarak jpanel , jframe vs. üzerine herhangi bir String yazdırdıysanız, lcd ekranlarda yapılan render&#8217;ın yumuşak hatlara sahip olmadığını fark etmişsinizdir. Yapmakta olduğum açık kaynak bir projede  (Kod Adı: Felis ) yoğun bir biçimde java2d kullanmaktayım. Ekrana yazdırdığım stringlerin yumuşak bir şekilde render edilmemesi beni rahatsız ettiği için internette küçük bir arama yaptım. [...]]]></description>
			<content:encoded><![CDATA[<p><img class="img alignnone size-full wp-image-180" title="java_duke_mascot" src="http://www.kamilors.com/wp-content/uploads/java_duke_mascot.jpg" alt="java_duke_mascot" width="80" height="88" align="left" />Java 2D Api kullanarak jpanel , jframe vs. üzerine herhangi bir String yazdırdıysanız, lcd ekranlarda yapılan render&#8217;ın yumuşak hatlara sahip olmadığını fark etmişsinizdir. Yapmakta olduğum açık kaynak bir projede  (Kod Adı: Felis ) yoğun bir biçimde java2d kullanmaktayım. Ekrana yazdırdığım stringlerin yumuşak bir şekilde render edilmemesi beni rahatsız ettiği için internette küçük bir arama yaptım. Ve sonunda bu probleme bir çözüm buldum.<span id="more-179"></span></p>
<p>Öncelikle LCD ekranlara göre render yapabilmek için Graphics yerine Graphics2D Sınıfını kullanmaliyız.</p>
<p><code></p>

<div class="wp_codebox"><table><tr id="p17928"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code" id="p179code28"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> paint<span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Agraphics+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Graphics</span></a> g<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
    <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Agraphics2d+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Graphics2D</span></a> g2 <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Agraphics2d+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Graphics2D</span></a><span style="color: #009900;">&#41;</span> g<span style="color: #339933;">;</span> 
&nbsp;
    <span style="color: #666666; font-style: italic;">// LCD Ekranlara göre render yapması gerektiğini belirten kodlar:</span>
    g2.<span style="color: #006633;">setRenderingHint</span><span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Arenderinghints+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">RenderingHints</span></a>.<span style="color: #006633;">KEY_TEXT_ANTIALIASING</span>, <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Arenderinghints+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">RenderingHints</span></a>.<span style="color: #006633;">VALUE_TEXT_ANTIALIAS_LCD_HRGB</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">//Ekrana 10,10 noktasından itibaren www.kamilors.com yazdırıyoruz.</span>
    g2.<span style="color: #006633;">drawString</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;www.kamilors.com&quot;</span>,<span style="color: #cc66cc;">10</span>,<span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p></code><br />
Çözüm bundan ibaret <img src='http://www.kamilors.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.kamilors.com/lcd-ekrana-gore-java-2d-api-drawstring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jboss Application Server Permgen Space</title>
		<link>http://www.kamilors.com/jboss-application-server-permgen-space/</link>
		<comments>http://www.kamilors.com/jboss-application-server-permgen-space/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 13:27:48 +0000</pubDate>
		<dc:creator>Kamil</dc:creator>
				<category><![CDATA[JEE]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Jboss AS]]></category>
		<category><![CDATA[application sever]]></category>
		<category><![CDATA[j2ee]]></category>
		<category><![CDATA[jboss]]></category>
		<category><![CDATA[Jboss Seam]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.kamilors.com/?p=169</guid>
		<description><![CDATA[Jboss AS (Application Server) kullanıyor ve uygulamalarınızı deploy ederken ya da çalıştırdıktan bir süre sonra permgen size exception&#8217;ı alıyorsanız üzülmeyin yapmanız gereken application server&#8217;ın başlarken kullandığı konfigürasyon dosyasına bir iki ayar çekerek  bu durumdan kurtulabilirsiniz. Öncelikle  JBOSS_HOME/bin/run.conf dosyasını bir metin editörü ile açın. 1 pico  jboss_home/bin/run.conf Sonrasında bu dosya içerisinde şu şekilde başlayan satırı bulun; [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone img size-full wp-image-173" title="jboss_tools_logo" src="http://www.kamilors.com/wp-content/uploads/jboss_tools_logo.png" alt="jboss_tools_logo" width="152" height="62" align="left" />Jboss AS (Application Server) kullanıyor ve uygulamalarınızı deploy ederken ya da çalıştırdıktan bir süre sonra permgen size exception&#8217;ı alıyorsanız üzülmeyin <img src='http://www.kamilors.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  yapmanız gereken application server&#8217;ın başlarken kullandığı konfigürasyon dosyasına bir iki ayar çekerek  bu durumdan kurtulabilirsiniz. <span id="more-169"></span></p>
<p>Öncelikle  <strong>JBOSS_HOME/bin/run.conf</strong> dosyasını bir metin editörü ile açın.</p>

<div class="wp_codebox"><table><tr id="p16934"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p169code34"><pre class="dos" style="font-family:monospace;">pico  jboss_home/bin/run.conf</pre></td></tr></table></div>

<p>Sonrasında bu dosya içerisinde şu şekilde başlayan satırı bulun;</p>

<div class="wp_codebox"><table><tr id="p16935"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p169code35"><pre class="dos" style="font-family:monospace;"><a href="http://www.ss64.com/nt/if.html"><span style="color: #00b100; font-weight: bold;">if</span></a> <span style="color: #66cc66;">&#91;</span> &quot;x$JAVA_OPTS&quot; = &quot;x&quot; <span style="color: #66cc66;">&#93;</span>; then</pre></td></tr></table></div>

<p>Bu satırın hemen altındaki şu satıra bir iki ekleme yaparak bu problemden kurtulacağız.</p>

<div class="wp_codebox"><table><tr id="p16936"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p169code36"><pre class="dos" style="font-family:monospace;">JAVA_OPTS=&quot;-Xms128m -Xmx512m -Dsun.rmi.dgc.client.gcInterval=<span style="color: #cc66cc;">3600000</span> -Dsun.rmi.dgc.server.gcInterval=<span style="color: #cc66cc;">3600000</span>&quot;</pre></td></tr></table></div>

<p>şimdi bu satırdaki herhangi bir boşluk karakterinden sonra aşağıdakileri ekliyoruz.</p>

<div class="wp_codebox"><table><tr id="p16937"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p169code37"><pre class="dos" style="font-family:monospace;">-XX:PermSize=256m -XX:MaxPermSize=512m</pre></td></tr></table></div>

<p>Eklemeleri yaptıkdan sonra, satırın son hali ile şu şekilde;</p>

<div class="wp_codebox"><table><tr id="p16938"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p169code38"><pre class="dos" style="font-family:monospace;">JAVA_OPTS=&quot;-Xms128m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=512m -Dsun.rmi.dgc.client.gcInterval=<span style="color: #cc66cc;">3600000</span> -Dsun.rmi.dgc.server.gcInterval=<span style="color: #cc66cc;">3600000</span>&quot;</pre></td></tr></table></div>

<p>Burdaki &#8211;XX:MaxPermSize değişkenini ihtiyacınıza göre yükseltebilirsiniz. Bu arada  -Xms128m ve -Xmx512m şeklindekli parametleri dikkatinizi çekmiştir sanırım. Bu parametlerlerde application server için ayrılan heap miktarıdır. Uygulamanız çalışmaya devam ettikçe uygulamadaki kullanılabilecek nesne sayısına göre bu alanında exception fırlatması an meselesi olabilir onun için buradaki 128m ve 512m parametrelerinini daha sonra ihtiyacınıza göre dünzenleyebirsiniz.  Ben ön tanımlı olarak 512m ve 1024m kullanıyorum.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kamilors.com/jboss-application-server-permgen-space/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Netbeans 6.8 Yayınlandı</title>
		<link>http://www.kamilors.com/netbeans-6-8-yayinlandi/</link>
		<comments>http://www.kamilors.com/netbeans-6-8-yayinlandi/#comments</comments>
		<pubDate>Sat, 12 Dec 2009 18:03:25 +0000</pubDate>
		<dc:creator>Kamil</dc:creator>
				<category><![CDATA[JEE]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Netbeans]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[java ee]]></category>
		<category><![CDATA[Jsf]]></category>
		<category><![CDATA[jsf 2.0]]></category>
		<category><![CDATA[Php]]></category>

		<guid isPermaLink="false">http://www.kamilors.com/?p=166</guid>
		<description><![CDATA[Açık kaynak olarak dağıtılan java ile yazılmış uygulama geliştirme platformu olan netbeans ide&#8217;nin 6.8 numaralı sürümü indirilmeye sunuldu. Yeni Sürümde bir çok yenilik eklenmiş durumda. Bunlardan en çok dikkat çekeni JSF 2.0 desteği eklenmiş olması. Bir diğer yenilik ise PHP 5.3 versiyonun getirdiği tüm yeni özellikleri (namespaces vb.) destekliyor olması. Ayrıcana php uygulama geliştirme çatısı [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone img" src="http://netbeans.org/images_www/v5/nb-logo2.gif" alt="" width="159" height="60" align="left" />Açık kaynak olarak dağıtılan java ile yazılmış uygulama geliştirme platformu olan netbeans ide&#8217;nin 6.8 numaralı sürümü indirilmeye sunuldu. Yeni Sürümde bir çok yenilik eklenmiş durumda. Bunlardan en çok dikkat çekeni JSF 2.0 desteği eklenmiş olması. Bir diğer yenilik ise PHP 5.3 versiyonun getirdiği tüm yeni özellikleri (namespaces vb.) destekliyor olması. Ayrıcana php uygulama geliştirme çatısı olan Symfony Framework&#8217;e yeni sürümde destek verilmeye başlanmış (Symfony Projeleri, Symfony komutları, kısayollar, YAML dosyaları içinde php söz dizimi  renklendirmesi).Yeni sürümü <a title="Nerbeans IDE" href="http://www.netbeans.org" target="_blank">www.netbeans.org</a> adresinden ücretsiz olarak indirebilirsiniz.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kamilors.com/netbeans-6-8-yayinlandi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facelets Template Yapısı</title>
		<link>http://www.kamilors.com/facelets-template-yapisi/</link>
		<comments>http://www.kamilors.com/facelets-template-yapisi/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 14:53:22 +0000</pubDate>
		<dc:creator>Kamil</dc:creator>
				<category><![CDATA[JEE]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Jsf]]></category>
		<category><![CDATA[RichFaces]]></category>
		<category><![CDATA[facelets]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[j2ee]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.kamilors.com/?p=151</guid>
		<description><![CDATA[Richfaces ve Jsf hakkındaki yazımın devamı olarak Facelets şablon yapısı hakkında kısa kısa bilgiler vermek istedim. Mantık olarak hazırladığımız tasarımı tek bir sayfa şeklinde tutmak ve bu sayfa üzerinde bölgeler oluşturmak daha iyidir. Web sitemizdeki her sayfaya şablon kodlarımızı dahil edersek yüzlerce sayfa olduğunda bir değişiklik için 100 sayfayıda güncellememiz gerekecek. Facelets bu noktada template [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone img size-full wp-image-160" title="perfect-3-column-dimensions" src="http://www.kamilors.com/wp-content/uploads/perfect-3-column-dimensions.gif" alt="perfect-3-column-dimensions" width="125" height="90" align="left" />Richfaces ve Jsf hakkındaki yazımın devamı olarak Facelets şablon yapısı hakkında kısa kısa bilgiler vermek istedim. Mantık olarak hazırladığımız tasarımı tek bir sayfa şeklinde tutmak ve bu sayfa üzerinde bölgeler oluşturmak daha iyidir. Web sitemizdeki her sayfaya şablon kodlarımızı dahil edersek yüzlerce sayfa olduğunda bir değişiklik için 100 sayfayıda güncellememiz gerekecek.</p>
<p>Facelets bu noktada template desteği ile bizim yardımımıza koşmakta. Şablon dosyamızda dinamik bölgeler oluşturarak, diğer sayfalarda yapmamız gereken sadece bu bölgeleri tanımlamak.<span id="more-151"></span></p>
<p>Örnek bir şablon yapısı üzerinden gidersek çok daha iyi olacak.</p>
<div style="margin:10px; padding:5px; background-color:#fff; border:1px solid #333;"><strong>sablon.xhtml</strong> :</p>
<p>&lt;?xml version=&#8217;1.0&#8242; encoding=&#8217;UTF-8&#8242; ?&gt;<br />
&lt;!DOCTYPE html PUBLIC &#8220;-//W3C//DTD XHTML 1.0 Transitional//EN&#8221; &#8220;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#8221;&gt;<br />
&lt;html xmlns=&#8221;http://www.w3.org/1999/xhtml&#8221;<br />
xmlns:ui=&#8221;http://java.sun.com/jsf/facelets&#8221;&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv=&#8221;Content-Type&#8221; content=&#8221;text/html; charset=UTF-8&#8243; /&gt;<br />
&lt;title&gt;Facelets &#8211; Template Example&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;div&gt;<br />
&lt;ui:insert name=&#8221;icerik&#8221; /&gt;<br />
&lt;/div&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p></div>
<p>Dinamik bölgeleri tanımlamak için <strong>&lt;ui:insert /&gt; </strong>bileşenini kullanıyoruz. name parametresi sayfalarımızda kullanırken belirtedeğimiz tanımlama ismini belirtiyor. Şimdi bu template dosyasını kullanan bir sayfa hazırlayalım.</p>
<div style="margin:10px; padding:5px; background-color:#fff; border:1px solid #333;"><strong>ana_sayfa.xhtml:</strong></p>
<p>&lt;?xml version=&#8217;1.0&#8242; encoding=&#8217;UTF-8&#8242; ?&gt;<br />
&lt;!DOCTYPE composition PUBLIC &#8220;-//W3C//DTD XHTML 1.0 Transitional//EN&#8221; &#8220;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#8221;&gt;<br />
&lt;ui:composition xmlns=&#8221;http://www.w3.org/1999/xhtml&#8221;<br />
xmlns:ui=&#8221;http://java.sun.com/jsf/facelets&#8221;<br />
template=&#8221;./sablon.xhtml&#8221;&gt;</p>
<p>&lt;ui:define name=&#8221;icerik&#8221;&gt;<br />
Ana Sayfaya Hoş Geldiniz ! <img src='http://www.kamilors.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
&lt;/ui:define&gt;</p>
<p>&lt;/ui:composition&gt;</p></div>
<p>Sayfamızı oluştururken öncelikle ui:composition bileşenine parametre olarak hangi şablonu kullanacağımızı belirtiyoruz. Bizim şablon dosyamız sablon.xhtml olduğu için parametre olarak bu dosyayı giriyoruz. Sonrasında ise şablonumuzdaki dinamik bölgeleri tanımlayarak içeriğimizi oluşturuyoruz. Dinamik bölgeleri belirtmek için <strong>&lt;ui:define /&gt;</strong> bileşenini kullanıyoruz. Parametre olarak gönderdiğimiz name şablonda kullandığımız &lt;<strong>ui:insert&gt;</strong>&#8216;e parametre olarak gönderdiğimiz değeri yazıyoruz.</p>
<p>Bir önceki yazımızda (<a title="Jsf ve Richfaces " href="http://www.kamilors.com/?p=117" target="_blank">JSF ve Richfaces</a>) netbeans kullanıyorduk. Netbeans&#8217;e facelets desteği kazandırmıştık.  Şimdi bu facelets desteği kullanarak önce bir şablon dosyası ve sonrasında bu dosyayı kullanan bir sayfa hazırlayalım. Projemize Sağ tıklayıp  New-&gt;Order seçeneğini seçiyoruz. Categories bölümünden JavaServerFaces, File Types bölümünden ise<strong> Facelets Tepmlate</strong>&#8216;i seçip next butonuna basıyoruz.</p>
<p style="text-align: center;"><a href="http://www.kamilors.com/wp-content/uploads/facelets_template_yapisi_1.png" target="_blank"><img class="size-full wp-image-153 img aligncenter" title="facelets_template_yapisi_1" src="http://www.kamilors.com/wp-content/uploads/facelets_template_yapisi_1.png" alt="facelets_template_yapisi_1" width="500" /></a></p>
<p>Daha sonra karşımıza çıkan pencerede template dosyamıza bir isim vermemiz isteniliyor.  Bir isim verdikten sonra bizim için daha önceden hazırlanmış layoutlar mevcut. Bunlardan herhangi bir tanesini seçiyoruz. Layout şeklini css  mi yoksa table kullanakarak mı vermek istediğimizi soruyor. Biz web standartlarına bağlı kalarak css diyoruz tabiki <img src='http://www.kamilors.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: center;"><a href="http://www.kamilors.com/wp-content/uploads/facelets_template_yapisi_2.png" target="_blank"><img class="size-full wp-image-154 img aligncenter" title="facelets_template_yapisi_2" src="http://www.kamilors.com/wp-content/uploads/facelets_template_yapisi_2.png" alt="facelets_template_yapisi_2" width="500" /></a></p>
<p>Finish butonuna basınca şablon dosyamız bizim için otomatik olarak üretiliyor.</p>
<p style="text-align: center;"><a href="http://www.kamilors.com/wp-content/uploads/facelets_template_yapisi_3.png" target="_blank"><img class="size-full wp-image-155 img aligncenter" title="facelets_template_yapisi_3" src="http://www.kamilors.com/wp-content/uploads/facelets_template_yapisi_3.png" alt="facelets_template_yapisi_3" width="500" /></a></p>
<p>Şimdi bu template dosyasını kullanan bir sayfa oluşturalım. Bunun için gene projemize sağ tıklayıp  New-&gt;Other seçiyoruz. Buradan Categories bölümünden JavaServer Faces , FileTypes bölümünden de <strong>Facelets Template Client</strong> seçeneğini seçerek next butonuna basıyoruz.</p>
<p style="text-align: center;"><a href="http://www.kamilors.com/wp-content/uploads/facelets_template_yapisi_4.png" target="_blank"><img class="size-full wp-image-156 img aligncenter" title="facelets_template_yapisi_4" src="http://www.kamilors.com/wp-content/uploads/facelets_template_yapisi_4.png" alt="facelets_template_yapisi_4" width="500" /></a></p>
<p>2. adımda çıkan pencerede ise sayfamıza bir isim vermemiz isteniliyor. İsmi verdikten sonra  bir tane de template seçmemiz isteniyor. Template karşısındaki browse butonuna tıklayarak biraz önce oluşturduğumuz <strong>sablon.xhtml</strong> dosyasını seçiyoruz. Şablonu seçtikten sonra Genereted Root tag kısmında html mi <strong>&lt;ui:composition&gt;</strong> &#8216;mı kullanmak istediğimiz soruluyor. Burada &lt;ui:composition&gt; seçerekten finish diyoruz .</p>
<p style="text-align: center;"><a href="http://www.kamilors.com/wp-content/uploads/facelets_template_yapisi_5.png" target="_blank"><img class="size-full wp-image-157 img aligncenter" title="facelets_template_yapisi_5" src="http://www.kamilors.com/wp-content/uploads/facelets_template_yapisi_5.png" alt="facelets_template_yapisi_5" width="500" /></a></p>
<p>Otomatik olarak şablon dosyamızdaki dinamik bölgelere bakaraktan sayfamız oluşturuldu <img src='http://www.kamilors.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   Her şey bu kadar basit.  Template sistemi bizi bir çok yükten kurtardığı gibi projemize de dinamik bir templating yapısı sunmakta.</p>
<p>Bir sonraki yazımda JSF Temel bileşenlerinden bahsedeceğim.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kamilors.com/facelets-template-yapisi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

