⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cardleveltagsdesigner.java

📁 WAP ide 代码
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
package wapide;import java.awt.*;import javax.swing.border.*;import javax.swing.text.*;import javax.swing.text.html.*;import javax.swing.tree.*;import java.awt.event.*;import javax.swing.event.*;import java.util.*;import javax.swing.*;/** * This class creates a dialog for graphically creating and editing the tags * that precede the "p" tag in a wml card tag. It provides methods for * setting up the dialog as well as retrieving data from the dialog. * * Copyright:    Copyright (c) 2003 * @author Mark Busman * @version 1.0 * * For License and contact information see WAPIDE.java */public class CardLevelTagsDesigner extends JDialog {  private Border border1;  private TitledBorder titledBorder1;  private ImageIcon image1;  private ImageIcon image2;  private ImageIcon image3;  private ImageIcon image4;  private BorderLayout borderLayout1 = new BorderLayout();  private JPopupMenu TreePopupMenu = new JPopupMenu();  private JMenuItem jMenuCut = new JMenuItem();  private JMenuItem jMenuCopy = new JMenuItem();  private JMenuItem jMenuPaste = new JMenuItem();  private JMenuItem jMenuDelete = new JMenuItem();  private JMenuItem jMenuProperties = new JMenuItem();  private JButton downButton = new JButton();  private JPanel jPanel1 = new JPanel();  private JScrollPane jScrollPane2 = new JScrollPane();  private JButton upButton = new JButton();  private GridBagLayout gridBagLayout2 = new GridBagLayout();  private BorderLayout borderLayout4 = new BorderLayout();  private JButton NodePropertiesButton = new JButton();  private BorderLayout borderLayout2 = new BorderLayout();  private FlowLayout flowLayout1 = new FlowLayout();  private JTree TagTree = new JTree();  private JPanel jPanel6 = new JPanel();  private JPanel jPanel5 = new JPanel();  private JPanel jPanel4 = new JPanel();  private JPanel jPanel2 = new JPanel();  private JPanel jPanel3 = new JPanel();  private JButton rightButton = new JButton();  private JButton leftButton = new JButton();  // User variables  /**   * The path to the selected tree node.   */  private TreePath path;  /**   * The current tree model.   */  private DefaultTreeModel tm = null;  /**   * A tree node of type EnhancedTreeNode, the default node type for the tree.   */  private EnhancedTreeNode TempNode;  // Constants  protected static int LEFT_MOUSE_BUTTON = 16;  protected static int RIGHT_MOUSE_BUTTON = 4;  /**   * Empty constructor, does nothing.   */  public CardLevelTagsDesigner() {  }  /**   * Constructs a CardLevelTagsDesigner using the data passed in.  Has the   * ability to be displayed or just parse the passed in data if show is false.   * @param String data - the card level tags that precede the "p" or "pre" tags   * @param boolean show - if true displays the dialog, if false jsut parses the data.   */  public CardLevelTagsDesigner(String data, boolean show) {    try {      tm = new DefaultTreeModel(Build_Tree(data));      TagTree = new JTree(tm);      TagTree.setCellRenderer(new CardLevelTagsCellRenderer());      TagTree.setRootVisible(false);      jbInit();      pack();      setSize(500, 350);      if (show)        show();    }    catch(Exception e) {      e.printStackTrace();    }  }  /**   * Constructs a CardLevelTagsDesigner dialog and parses the data that is passed in.   * After parsing the data it displays the dialog to allow the user to modify the data.   * @param String data - the card level tags that precede the "p" and "pre" tags.   */  public CardLevelTagsDesigner(String data) {    try {      tm = new DefaultTreeModel(Build_Tree(data));      TagTree = new JTree(tm);      TagTree.setCellRenderer(new CardLevelTagsCellRenderer());      TagTree.setRootVisible(false);      jbInit();      pack();      setSize(500, 350);      show();    }    catch(Exception e) {      e.printStackTrace();    }  }  //public static void main(String[] args) {    //String d = "";    //CardLevelTagsDesigner cardLevelTagsDesigner1 = new CardLevelTagsDesigner(d);  //}  /**   * constructs and initializes the dialog.   */  private void jbInit() throws Exception {    border1 = BorderFactory.createEmptyBorder();    titledBorder1 = new TitledBorder(BorderFactory.createEmptyBorder(),"Preview");    image1 = new ImageIcon(wapide.IDEFrame.class.getResource("rarrow.gif"));    image2 = new ImageIcon(wapide.IDEFrame.class.getResource("larrow.gif"));    image3 = new ImageIcon(wapide.IDEFrame.class.getResource("darrow.gif"));    image4 = new ImageIcon(wapide.IDEFrame.class.getResource("uarrow.gif"));    tm.addTreeModelListener(new javax.swing.event.TreeModelListener() {      public void treeNodesChanged(TreeModelEvent e) {        tm_treeNodesChanged(e);      }      public void treeNodesInserted(TreeModelEvent e) {      }      public void treeNodesRemoved(TreeModelEvent e) {      }      public void treeStructureChanged(TreeModelEvent e) {      }    });        jMenuCut.setText("Cut");    jMenuCut.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        Popup_actionPerformed(e);      }    });    jMenuCopy.setText("Copy");    jMenuCopy.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        Popup_actionPerformed(e);      }    });    jMenuPaste.setText("Paste");    jMenuPaste.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        Popup_actionPerformed(e);      }    });    jMenuDelete.setText("Delete");    jMenuDelete.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        Popup_actionPerformed(e);      }    });    jMenuProperties.setText("Properties");    jMenuProperties.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        Popup_actionPerformed(e);      }    });    this.getContentPane().setLayout(borderLayout1);    this.setTitle("Card Level Tag Editor");    downButton.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        moveItems_actionPerformed(e);      }    });    downButton.setActionCommand("down");    downButton.setIcon(image3);    downButton.setNextFocusableComponent(TagTree);    downButton.setPreferredSize(new Dimension(27, 27));    downButton.setToolTipText("Move item down");    jPanel1.setLayout(borderLayout2);    upButton.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        moveItems_actionPerformed(e);      }    });    upButton.setActionCommand("up");    upButton.setIcon(image4);    upButton.setNextFocusableComponent(downButton);    upButton.setPreferredSize(new Dimension(27, 27));    upButton.setToolTipText("Move item up");    NodePropertiesButton.setNextFocusableComponent(leftButton);    NodePropertiesButton.setPreferredSize(new Dimension(27, 27));    NodePropertiesButton.setToolTipText("Display item properties");    NodePropertiesButton.setText("...");    NodePropertiesButton.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        NodePropertiesButton_actionPerformed(e);      }    });    TagTree.setMaximumSize(new Dimension(83, 37));    TagTree.setNextFocusableComponent(NodePropertiesButton);    TagTree.setPreferredSize(new Dimension(300, 37));    TagTree.addMouseListener(new java.awt.event.MouseAdapter() {      public void mouseClicked(MouseEvent e) {        TagTree_mouseClicked(e);      }    });    TagTree.addTreeSelectionListener(new javax.swing.event.TreeSelectionListener() {      public void valueChanged(TreeSelectionEvent e) {        TagTree_valueChanged(e);      }    });    jPanel5.setLayout(gridBagLayout2);    jPanel5.setMinimumSize(new Dimension(78, 37));    jPanel5.setPreferredSize(new Dimension(30, 37));    jPanel5.setRequestFocusEnabled(false);    jPanel4.setLayout(borderLayout4);    jPanel2.setLayout(flowLayout1);    jPanel2.setMinimumSize(new Dimension(105, 133));    jPanel2.setRequestFocusEnabled(false);    jScrollPane2.setPreferredSize(new Dimension(86, 200));    jScrollPane2.setRequestFocusEnabled(false);    rightButton.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        moveItems_actionPerformed(e);      }    });    rightButton.setActionCommand("right");    rightButton.setIcon(image1);    rightButton.setNextFocusableComponent(upButton);    rightButton.setPreferredSize(new Dimension(27, 27));    rightButton.setToolTipText("Move item to the right");    leftButton.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        moveItems_actionPerformed(e);      }    });    leftButton.setActionCommand("left");    leftButton.setIcon(image2);    leftButton.setNextFocusableComponent(rightButton);    leftButton.setPreferredSize(new Dimension(27, 27));    leftButton.setToolTipText("Move item to the left");    jPanel1.setRequestFocusEnabled(false);    jPanel6.setRequestFocusEnabled(false);    jPanel4.setRequestFocusEnabled(false);    jPanel3.setRequestFocusEnabled(false);    TreePopupMenu.add(jMenuCut);    TreePopupMenu.add(jMenuCopy);    TreePopupMenu.add(jMenuPaste);    TreePopupMenu.addSeparator();    TreePopupMenu.add(jMenuDelete);    TreePopupMenu.addSeparator();    TreePopupMenu.add(jMenuProperties);    this.getContentPane().add(jPanel1, BorderLayout.CENTER);    jPanel1.add(jPanel5, BorderLayout.EAST);    jPanel5.add(jPanel6, new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0            ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), -39, 32));    jPanel6.add(upButton, null);    jPanel6.add(downButton, null);    jPanel1.add(jPanel4, BorderLayout.SOUTH);    jPanel4.add(jPanel2, BorderLayout.EAST);    jPanel2.add(NodePropertiesButton, null);    jPanel4.add(jPanel3, BorderLayout.CENTER);    jPanel3.add(leftButton, null);    jPanel3.add(rightButton, null);    jPanel1.add(jScrollPane2, BorderLayout.CENTER);    jScrollPane2.getViewport().add(TagTree, null);  }  // Additional support classes  /**   * This class encapsulates a doNode.  It takes care of its own data   * and provides mehtods for accessing and updating the data.   */  private class doNode extends EnhancedTreeNode {    private String type, label, name, opt, extra;    /**     * Constructs a new Node of type "do."     */    public doNode() {      super("", "do");      setUserObject("");      setAllowsChildren(true); // go, noop, prev, refresh      type = "unknown";      label = "";      name = "";      opt = "N/A";      extra = "";      updateNode();    }    /**     * Sets the data for the Node from a Vector.     * @param Vector v - the data to be set.     */    public void setData(Vector v) {      type = (String) v.get(0);      label = (String) v.get(1);      name = (String) v.get(2);      opt = (String) v.get(3);      extra = (String) v.get(4);    }    /**     *Gets the data of the Node and returns it as a Vector.     * @return Vector v - the data in the following format:<br>     * type<br>     * label<br>     * name<br>     * opt<br>     * extra     */    public Vector getData() {      Vector v = new Vector();      v.add(type);      v.add(label);      v.add(name);      v.add(opt);      v.add(extra);      return v;    }    public String getType() {      return type;    }    public String getLabel() {      return label;    }    public String getName() {      return name;    }    public String getOpt() {      return opt;    }    public String getExtra() {      return extra;    }    /**     * Updates the Node's data and visual component.     */    public void updateNode() {      String s = "<do";      if (!type.equals("N/A"))        s = s + " type=\"" + type + "\"";      if (!label.equals(""))        s = s + " label=\"" + label + "\"";      if (!name.equals(""))        s = s + " name=\"" + name + "\"";      if (!opt.equals("N/A"))        s = s + " optional=\"" + opt + "\"";      if (extra.length() > 0)        s = s + " " + extra.trim();      s = s + ">";      setUserObject(s);    }    /**     * Updates a node data from a String.     * @param String s - the data to update the node with.     */    public void updateNode(String s) {      type = "N/A";      label = "";      name = "";      opt = "N/A";      extra = "";      int start = s.indexOf("type");      if (start > -1) {        start = s.indexOf("=" , start + 1);        if (start > -1) {          start = s.indexOf("\"" , start + 1);          if (start > -1) {            int end = s.indexOf("\"" , start + 1);            if (end < 0)              end = s.length();            type = s.substring(start + 1, end);          }        }      }      start = s.indexOf("label");      if (start > -1) {        start = s.indexOf("=" , start + 1);        if (start > -1) {          start = s.indexOf("\"" , start + 1);          if (start > -1) {            int end = s.indexOf("\"" , start + 1);            if (end < 0)              end = s.length();            label = s.substring(start + 1, end);          }        }      }      start = s.indexOf("name");      if (start > -1) {        start = s.indexOf("=" , start + 1);        if (start > -1) {          start = s.indexOf("\"" , start + 1);          if (start > -1) {            int end = s.indexOf("\"" , start + 1);            if (end < 0)              end = s.length();            name = s.substring(start + 1, end);          }        }      }      start = s.indexOf("optional");      if (start > -1) {        start = s.indexOf("=" , start + 1);        if (start > -1) {          start = s.indexOf("\"" , start + 1);          if (start > -1) {            int end = s.indexOf("\"" , start + 1);            if (end < 0)              end = s.length();            opt = s.substring(start + 1, end);          }        }      }      start = s.indexOf("id=\"");      if (start > -1) {        start = start + 4;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -