Fungsi : Membuat menu pohon Deskripsi : Membuat struktur menu pohon mirip dengan membuat menu bar, dan dibuat berdasarkan level dan model.
Buat objek simpul akar, simpul anak, dan simpul cucu melalui kelas DefaultMutableTreeNode, lalu gunakan DefaultTreeModel
Kelas menggunakan node akar untuk membuat objek model pohon, dan kemudian memasukkan objek node ke dalam model pohon melalui metode treeModel.insertNodeInto.
Render:
Kode:
import java.awt.*; import javax.swing.*; import javax.swing.tree.*; import javax.swing.event.*; ("Menu pohon"); setSize(400,400); Wadah kontainer = getContentPane(); //Buat simpul akar dan simpul anak DefaultMutableTreeNode root = new DefaultMutableTreeNode("Editor Teks"); DefaultMutableTreeNode node1 = new DefaultMutableTreeNode("File"); DefaultMutableTreeNode node2 = new DefaultMutableTreeNode("Edit"); ); //Masukkan node anak node1,node2 treeModel.insertNodeInto(node1,root,root.getChildCount()); treeModel.insertNodeInto(node2,root,root.getChildCount()); //Buat node anak dari node node1 dan masukkan DefaultMutableTreeNode leafnode = new DefaultMutableTreeNode("Open" ) ; treeModel.insertNodeInto(leafnode,node1,node1.getChildCount()); leafnode = new DefaultMutableTreeNode("Simpan"); treeModel.insertNodeInto(leafnode,node1,node1.getChildCount()); ; treeModel.insertNodeInto(leafnode,node1,node1.getChildCount()); leafnode = new DefaultMutableTreeNode("Close"); treeModel.insertNodeInto(leafnode,node1,node1.getChildCount()); //Buat node anak dari node node2 dan masukkan leafnode = new DefaultMutableTreeNode("cut"); treeModel.insertNodeInto(leafnode,node2,node2.getChildCount()); leafnode = new DefaultMutableTreeNode("copy"); treeModel.insertNodeInto(leafnode,node2,node2.getChildCount()); treeModel.insertNodeInto(leafnode,node2,node2.getChildCount()); //Membuat objek pohon JTree tree = new JTree(treeModel); //Mengatur pemilihan Tree agar hanya memilih satu node dalam satu waktu tree.getSelectionModel() .setSelectionMode( TreeSelectionModel.SINGLE_TREE_SELECTION); //Daftarkan pohon pendengar.addTreeSelectionListener(ini); tree.setRowHeight(20); //Membuat objek gambar simpul DefaultTreeCellRenderer cellRenderer = (DefaultTreeCellRenderer)tree.getCellRenderer(); //Mengatur font cellRenderer.setFont(new Font("Serif",Font.PLAIN,14)); cellRenderer.setBackgroundNonSelectionColor(Warna.putih); cellRenderer.setBackgroundSelectionColor(Color.kuning); cellRenderer.setBorderSelectionColor(Color.red); //Mengatur perubahan warna teks saat dipilih atau tidak dipilih cellRenderer.setTextNonSelectionColor(Color.black); / /Tambahkan objek pohon ke panel konten container.add(new JScrollPane(tree)); //Buat label label = new JLabel("Node yang sedang Anda pilih adalah:",JLabel.CENTER); label.setFont(new Font("Serif",Font.PLAIN,14)); BorderLayout .SOUTH); setVisible(true); //Setel setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Setel tindakan penutupan jendela} //Menangani event TreeSelectionEvent public void valueChanged(TreeSelectionEvent event) { JTree tree = (JTree)event.getSource(); //Dapatkan node yang dipilih saat ini DefaultMutableTreeNode choiceNode = (DefaultMutableTreeNode)tree.getLastSelectedPathComponent(); toString(); label.setText("Node yang sedang Anda pilih adalah: "+nodeName); } public static void main(String args[]) { Pohon d = Pohon baru(); } }
Menu pohon yang dibuat pada artikel ini menurut level dan modelnya mirip dengan membuat menu bar.