1 package org
.tianocore
.migration
;
4 import java
.awt
.event
.*;
6 import javax
.swing
.tree
.*;
8 public class MsaTreeEditor
extends JPanel
{
10 * Define class Serial Version UID
12 private static final long serialVersionUID
= 3169905938472150649L;
14 MsaTreeEditor(ModuleInfo m
, UI u
) {
18 rootNode
= new DefaultMutableTreeNode("Root Node");
19 treeModel
= new DefaultTreeModel(rootNode
);
21 tree
= new JTree(treeModel
);
22 tree
.setEditable(true);
23 tree
.getSelectionModel().setSelectionMode(TreeSelectionModel
.SINGLE_TREE_SELECTION
);
24 tree
.setShowsRootHandles(false);
25 tree
.addMouseListener(mouseadapter
);
27 JScrollPane scrollPane
= new JScrollPane(tree
);
30 popupmenu
= new JPopupMenu();
31 JMenuItem menuitemadd
= new JMenuItem("addNode");
32 JMenuItem menuitemdel
= new JMenuItem("deleteNode");
33 popupmenu
.add(menuitemadd
);
34 popupmenu
.add(menuitemdel
);
35 menuitemadd
.addActionListener(actionListener
);
36 menuitemdel
.addActionListener(actionListener
);
38 addNode(rootNode
, "1st");
39 addNode(rootNode
, "2nd");
42 private ModuleInfo mi
;
46 private DefaultMutableTreeNode rootNode
;
47 private DefaultTreeModel treeModel
;
49 private JPopupMenu popupmenu
;
50 private MouseAdapter mouseadapter
= new MouseAdapter() {
51 public void mouseReleased(MouseEvent me
) {
52 if (me
.getClickCount() == 1 && SwingUtilities
.isRightMouseButton(me
)) {
53 tree
.setSelectionPath(tree
.getPathForLocation(me
.getX(), me
.getY()));
54 popupmenu
.show(tree
, me
.getX(), me
.getY());
58 private ActionListener actionListener
= new ActionListener() {
59 public void actionPerformed(ActionEvent ae
) {
64 public void addNode() {
65 addNode((DefaultMutableTreeNode
)(tree
.getSelectionPath().getLastPathComponent()), ui
.getInput("Input Node Name"));
69 public void addNode(DefaultMutableTreeNode parentNode
, Object child
) {
70 DefaultMutableTreeNode childNode
= new DefaultMutableTreeNode(child
);
71 treeModel
.insertNodeInto(childNode
, parentNode
, parentNode
.getChildCount());
72 tree
.scrollPathToVisible(new TreePath(childNode
.getPath()));
75 public static void init(ModuleInfo mi
, UI ui
) throws Exception
{
76 UIManager
.setLookAndFeel(UIManager
.getSystemLookAndFeelClassName());
78 JFrame frame
= new JFrame("MsaTreeEditor");
79 frame
.setDefaultCloseOperation(JFrame
.EXIT_ON_CLOSE
);
81 MsaTreeEditor mte
= new MsaTreeEditor(mi
, ui
);
82 mte
.setLayout(new GridBagLayout());
84 frame
.setContentPane(mte
);
87 frame
.setVisible(true);