Java'da JTree Kullanımı Java'da JTree Kullanımı Swing arayüz kütüphanesine ait JTree sınıfı ağaç şeklinde verileri göstermeye yarıyor. Bunun için MVC'ye uygun olarak TreeModel kullanılıyor. TreeModel ve TreeNodeModel Java'nın Swing kütüphanesi MVC (Model-View-Controller / Model - Görünüş - Denetleyici) desenine uygun olarak arayüzle veriyi ayrı bir biçimde ele alır. Ağaç tipinde bir verinin her düğümü TreeNode arayüzüyle, ağacın kendisi de TreeModel arayüzüyle tanımlıdır. Programcı isterse bunlar kendisi de gerçekleştirebilir ancak hazır gerçekleştirilmiş data nesnesi olarak DefaultMutableTreeNode ve DefaultTreeModel sınıfları bulunmaktadır. Ağaç üzerinde bir düğüm olluşturmak için DefaultMutableTreeNode node=new DefaultMutableTreeNode("Düğüm Adı"); biçiminde bir kod parçası yazılır. En tepedeki düğüm (kök) ve en uçtaki düğüm (yaprak) düğümleri de aynı biçimde tanımlanır. Bir düğimin altına düğüm eklemek için DefaultMutableTreeNode node=new DefaultMutableTreeNode("Düğüm Adı"); DefaultMutableTreeNode subnode=new DefaultMutableTreeNode("Alt Düğüm Adı"); node.add(subnode); şeklinde bir kod parçası yazılır. Bir ağaç modeli oluşturmak için en tepedeki (kök) düğümü vermek yeterlidir : DefaultTreeModel model=new DefaultTreeModel(root); Bu modeli JTree nesnesine parametre olarak aktarılırsa JTree tree=new JTree(model); bir açaç nesnesi kullanıma hazır olur. Bir şirketteki organizasyon şemasını gösteren bir açaç örneği : import javax.swing.*; import javax.swing.tree.*; import java.awt.*; public class TreeTest extends JFrame{ public TreeTest(){ DefaultMutableTreeNode general= new DefaultMutableTreeNode("Genel Müdürlük"); DefaultMutableTreeNode marketing= new DefaultMutableTreeNode("Pazarlama Bölümü"); DefaultMutableTreeNode aliyilmaz= www.dijitalders.com Java'da JTree Kullanımı 1 Java'da JTree Kullanımı new DefaultMutableTreeNode("Ali Yılmaz"); DefaultMutableTreeNode alisatar= new DefaultMutableTreeNode("Ali Satar"); DefaultMutableTreeNode production= new DefaultMutableTreeNode("Üretim"); DefaultMutableTreeNode velikaya= new DefaultMutableTreeNode("Veli Kaya"); DefaultMutableTreeNode metinselim= new DefaultMutableTreeNode("Metin Selim"); general.add(marketing); general.add(production); marketing.add(aliyilmaz); mark.add(alisatar); production.add(velikaya); production.add(metinselim); DefaultTreeModel model=new DefaultTreeModel(general); JTree tree=new JTree(model); getContentPane().add(new JScrollPane(tree)); } public static void main(String[] args){ TreeTest test=new TreeTest(); test.setBounds(100,100,300,300); test.setVisible(true); } } Burada önce düğüm nesneleri oluşturulmakta, daha sonra alt düğümler üst düğüme eklenmektedir. Kök düğümden oluşturulan model ağaç nesnesine verilmekte ve bu nesne pencereye eklenmektedir. Kaynak www.godoro.com/Portal/Content/Article/ArticleViewPage.aspx www.dijitalders.com Java'da JTree Kullanımı 2