Пример #1
0
  private void buildUI() {
    treeModel = new SoapUITreeModel(workspace);

    mainTree = new NavigatorTree(treeModel);
    mainTree.setRootVisible(true);
    mainTree.setExpandsSelectedPaths(true);
    mainTree.setScrollsOnExpand(true);
    mainTree.setToggleClickCount(0);
    mainTree.addMouseListener(new TreeMouseListener());
    mainTree.addTreeSelectionListener(new InternalTreeSelectionListener());
    mainTree.setCellRenderer(new SoapUITreeNodeRenderer());
    mainTree.setBorder(null);
    mainTree.getSelectionModel().setSelectionMode(TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION);
    mainTree.addKeyListener(new TreeKeyListener());

    add(new JScrollPane(mainTree), BorderLayout.CENTER);
    add(buildToolbar(), BorderLayout.NORTH);
    setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
  }
Пример #2
0
  /** Constructor. */
  public DatasetTreeView() {
    // the catalog tree
    tree =
        new JTree() {
          public JToolTip createToolTip() {
            return new MultilineTooltip();
          }
        };
    tree.setModel(new DefaultTreeModel(new DefaultMutableTreeNode(null, false)));
    tree.setCellRenderer(new MyTreeCellRenderer());

    tree.addMouseListener(
        new MouseAdapter() {
          public void mousePressed(MouseEvent e) {
            int selRow = tree.getRowForLocation(e.getX(), e.getY());
            if (selRow != -1) {
              TreeNode node = (TreeNode) tree.getLastSelectedPathComponent();
              if (node instanceof VariableNode) {
                VariableIF v = ((VariableNode) node).var;
                firePropertyChangeEvent(new PropertyChangeEvent(this, "Selection", null, v));
              }
            }

            if ((selRow != -1) && (e.getClickCount() == 2)) {
              // acceptSelected();
            }
          }
        });

    tree.putClientProperty("JTree.lineStyle", "Angled");
    tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
    tree.setToggleClickCount(1);
    ToolTipManager.sharedInstance().registerComponent(tree);

    // layout
    setLayout(new BorderLayout());
    add(new JScrollPane(tree), BorderLayout.CENTER);
  }
Пример #3
0
  public TreeView(final Model model) {
    super(model, "ProjectView");

    ProjecTreeModel pModel =
        new ProjecTreeModel(model) {

          @Override
          public void valueForPathChanged(TreePath path, Object newValue) {
            Object o = path.getLastPathComponent();

            if (o instanceof TreeNode) {
              model.setName((TreeNode) o, (String) newValue);
            }
          }
        };

    tree =
        new JTree(pModel) {

          @Override
          public boolean isPathEditable(TreePath path) {
            Object p = Model.getParent(path.getLastPathComponent());

            if (p != model.getRoot()) {

              return true;
            }

            return false;
          }

          @Override
          public String getToolTipText(MouseEvent event) {

            TreePath path = tree.getPathForLocation(event.getX(), event.getY());

            if (path != null) {
              Object t = path.getLastPathComponent();

              if (t instanceof TreeNode) {
                return "Id: " + Integer.toString(((TreeNode) t).getId());
              }
            }
            return "";
          };
        };

    ToolTipManager.sharedInstance().registerComponent(tree);

    Renderer r = new Renderer();
    tree.setCellRenderer(r);
    tree.setRootVisible(false);
    tree.setToggleClickCount(1);
    tree.setShowsRootHandles(true);
    tree.setEditable(true);

    DefaultTreeCellRenderer renderer = (DefaultTreeCellRenderer) tree.getCellRenderer();

    JTextField comboBox = new JTextField();
    comboBox.setEditable(true);
    DefaultCellEditor comboEditor = new DefaultCellEditor(comboBox);
    comboEditor.setClickCountToStart(99);

    TreeCellEditor editor = new DefaultTreeCellEditor(tree, renderer, comboEditor);

    tree.setCellEditor(editor);
    tree.addKeyListener(
        new KeyAdapter() {

          @Override
          public void keyReleased(KeyEvent e) {
            if (e.getKeyCode() == KeyEvent.VK_F2) {
              tree.startEditingAtPath(tree.getSelectionPath());
            }
          }
        });

    this.setLayout(new BorderLayout());

    this.add(new JScrollPane(tree), BorderLayout.CENTER);

    tree.setDragEnabled(false);
    //      expandListener();
    drag = new TreeDragSource(tree, DnDConstants.ACTION_COPY_OR_MOVE);
  }