1.import java.awt.*;
2.import java.awt.event.*;
3.import java.util.*;
4.import javax.swing.*;
5.import javax.swing.tree.*;
6.
7.class treeSearchTest extends JFrame {
8. private DefaultTreeModel model;
9. private DefaultMutableTreeNode root;
10. private JTree tree;
11. private static final int DEFAULT_WIDTH = 300;
12. private static final int DEFAULT_HEIGTH = 200;
13. Container contentPane = getContentPane();
14. JTextField textSearch;
15. public treeSearchTest() {
16. setTitle ("TreeSearchTest");
17. setSize (DEFAULT_WIDTH,DEFAULT_HEIGTH);
18. root =makeSampleTree();
19. model = new DefaultTreeModel (root);
20. tree = new JTree (model);
21. JScrollPane scrollPane = new JScrollPane(tree);
22. add(scrollPane,BorderLayout.CENTER);
23. makeButtons();
24. }
25.
26. public DefaultMutableTreeNode makeSampleTree(){
27. DefaultMutableTreeNode root = new DefaultMutableTreeNode ("มหาวิทยาลัยเจ้าพระยา");
28. DefaultMutableTreeNode country = new DefaultMutableTreeNode ("จังหวัดนครสวรรค์");
29. root.add(country);
30. DefaultMutableTreeNode state = new DefaultMutableTreeNode ("อำเภอเมือง");
31. country.add(state);
32. DefaultMutableTreeNode city = new DefaultMutableTreeNode ("ตำบลหนองกรด");
33. state.add(city);
34.
35.
36.
37.
38.
39.
40.
41. country = new DefaultMutableTreeNode ("จ.อุตรดิตถ์ ");
42. root.add(country);
43. state = new DefaultMutableTreeNode ("อ.ทองแสนขัน");
44. country.add(state);
45. city = new DefaultMutableTreeNode ("ต.น้ำพี้");
46. state.add(city);
47. return root;
48. }
49.
50. public void makeButtons(){
51. JPanel panel = new JPanel();
52. textSearch = new JTextField(10);
53. panel.add(textSearch);
54.
55. JButton addSearchButton = new JButton("Search");
60. addSearchButton.addActionListener(new ActionListener(){
61. public void actionPerformed(ActionEvent eventent){
62. actionSearch();
63. }
64. });
65. panel.add(addSearchButton);
66. contentPane.add(panel,BorderLayout.SOUTH);
67. }
68. public void actionSearch(){
69. Enumeration e = root.breadthFirstEnumeration();
70.
71. boolean FIND = false;
72. while(e.hasMoreElements()){
73. DefaultMutableTreeNode node = (DefaultMutableTreeNode)e.nextElement();
74. if (node.getUserObject().equals(textSearch.getText()))
75. FIND = true;
76. }
77. if (FIND)
78. JOptionPane.showMessageDialog(null,"พบโหนด" + textSearch.getText()+ "ในTree");
79. else JOptionPane.showMessageDialog(null,"ไม่พบโหนด"+ textSearch.getText()+ "ในTree");
80. }
81. public static void main(String[]args){
82. JFrame frame = new treeSearchTest();
83. frame.addWindowListener(new WindowAdapter(){
84. public void windowClosing(WindowEvent e ){
85. System.exit(0);
86. }
87. });
89. frame.setVisible(true);
90 }
91.}


ไม่มีความคิดเห็น:
แสดงความคิดเห็น