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

📄 optiondesigner.java

📁 WAP ide 代码
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
package wapide;import java.awt.*;import javax.swing.*;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.*;/** * A dialog for designing "select" tags graphically.  Provides * a small graphical representation of how the options and optiongroups might * display in a WAP Phone. * Copyright:    Copyright (c) 2003 * @author Mark Busman * @version 1.0 * * For License and contact information see WAPIDE.java */public class OptionDesigner extends JDialog {  private BorderLayout borderLayout1 = new BorderLayout();  private Border border1;  private TitledBorder titledBorder1;  private ImageIcon image1;  private ImageIcon image2;  private ImageIcon image3;  private ImageIcon image4;  private ImageIcon image5;  private ImageIcon image6;  private ImageIcon image7;  private ImageIcon image8;  private ImageIcon image9;  private ImageIcon image10;  private JSplitPane jSplitPane1 = new JSplitPane();  private JScrollPane jScrollPane1 = new JScrollPane();  private GridBagLayout gridBagLayout1 = new GridBagLayout();  private BorderLayout borderLayout3 = new BorderLayout();  private JTextPane PreviewPane = new JTextPane();  private JScrollPane PreviewScroller = new JScrollPane();  private JPanel PreviewPanel = new JPanel();  private JPanel jPanel3 = new JPanel();  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 borderLayout2 = new BorderLayout();  private JPanel jPanel6 = new JPanel();  private JPanel jPanel5 = new JPanel();  private JTree OptionTree = new JTree();  private JPanel jPanel4 = new JPanel();  private JButton leftButton = new JButton();  private JPanel jPanel2 = new JPanel();  private JButton rightButton = new JButton();  private FlowLayout flowLayout1 = new FlowLayout();  private BorderLayout borderLayout4 = new BorderLayout();  private JButton NodePropertiesButton = new JButton();  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();  // User variables  /**   * Path to the selected node.   */  private TreePath path;  /**   * The tree model used by the JTree component.   */  private DefaultTreeModel tm = null;  /**   * The colors used in in the graphics pane.   */  private Color bkg, fg;  /**   * The Font used in the graphics pane.   */  private Font f;  /**   * A temporary node.   */  private DefaultMutableTreeNode TempNode;  // Constants  protected static int LEFT_MOUSE_BUTTON = 16;  protected static int RIGHT_MOUSE_BUTTON = 4;  /**   * Empty constructor.   */  public OptionDesigner() {  }  /**   * Constructs a new OptionDesiner dialog.   * @param Dimension size - the size of the graphics pane.   * @param Color back - the background color of the graphics pane.   * @param Color fore - the foreground color of the graphics pane.   * @param Font font - default font of graphics pane.   * @param Strin data - the WML text that makes up the content of the select tag.   */  public OptionDesigner(Dimension size, Color back, Color fore, Font font, String data) {    try {      bkg = back;      fg = fore;      Font f = font;      setTitle("Option Designer");      tm = new DefaultTreeModel(Build_Tree(data));      OptionTree = new JTree(tm);      OptionTree.setCellRenderer(new OptionDialogTreeCellRenderer());      OptionTree.setRootVisible(false);      jbInit();      pack();      //DefaultTreeCellRenderer renderer = (DefaultTreeCellRenderer) OptionTree.getCellRenderer();      //renderer.setLeafIcon(image5);      //renderer.setOpenIcon(image7);      //renderer.setClosedIcon(image6);      setSize(500, 350);      JScrollBar CustomScrollBar = new JScrollBar();      CustomScrollBar.setMinimumSize(new Dimension(10, 5));      CustomScrollBar.setPreferredSize(new Dimension(10, 61));      PreviewScroller.setVerticalScrollBar(CustomScrollBar);      //CustomScrollBar.setMinimumSize(new Dimension(10, 5));      //CustomScrollBar.setPreferredSize(new Dimension(10, 61));      //PreviewScroller.setVerticalScrollBar(CustomScrollBar);      show();      PreviewScroller.setPreferredSize(size);      PreviewPane.setPreferredSize(size);      PreviewScroller.setSize(size);      PreviewPane.setSize(size);      PreviewPane.setFont(f);      PreviewPane.setBackground(bkg);      PreviewPane.setForeground(fg);      PreviewPane.setStyledDocument(new DefaultStyledDocument());      PreviewPanel.setVisible(false);      PreviewPanel.setVisible(true);      setResizable(false);      DefaultMutableTreeNode n = (DefaultMutableTreeNode) tm.getRoot();      if (n.getChildCount() > 0) {        DefaultMutableTreeNode m =(DefaultMutableTreeNode) n.getChildAt(0);        OptionTree.setSelectionPath(new TreePath(m.getPath()));        updateSample();      }      getData();    }    catch(Exception e) {      e.printStackTrace();    }  }  //public static void main(String[] args) {  //  OptionDesigner optionDesigner1 = new OptionDesigner(new Dimension(180, 80));  //}  /**   * Initializes the dialog and its controls.   */  private void jbInit() throws Exception {    border1 = BorderFactory.createEmptyBorder();    titledBorder1 = new TitledBorder(border1,"Preview");    image1 = new ImageIcon(wapide.IDEFrame.class.getResource("uarrow.gif"));    image2 = new ImageIcon(wapide.IDEFrame.class.getResource("darrow.gif"));    image3 = new ImageIcon(wapide.IDEFrame.class.getResource("larrow.gif"));    image4 = new ImageIcon(wapide.IDEFrame.class.getResource("rarrow.gif"));    image5 = new ImageIcon(wapide.IDEFrame.class.getResource("optionTag.gif"));    image6 = new ImageIcon(wapide.IDEFrame.class.getResource("optgroupTag.gif"));    image7 = new ImageIcon(wapide.IDEFrame.class.getResource("optgroupColorTag.gif"));    image8 = new ImageIcon(wapide.IDEFrame.class.getResource("circle.gif"));    image9 = new ImageIcon(wapide.IDEFrame.class.getResource("triangle.gif"));    image10 = new ImageIcon(wapide.IDEFrame.class.getResource("filledcircle.gif"));    this.getContentPane().setLayout(borderLayout1);    PreviewScroller.setPreferredSize(new Dimension(89, 50));    PreviewScroller.setAutoscrolls(true);    PreviewScroller.setNextFocusableComponent(jScrollPane2);    PreviewPanel.setLayout(gridBagLayout1);    PreviewPanel.setBorder(titledBorder1);    PreviewPanel.setRequestFocusEnabled(false);    jPanel3.setPreferredSize(new Dimension(300, 61));    jPanel3.setRequestFocusEnabled(false);    jPanel3.setLayout(borderLayout3);    downButton.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        moveItems_actionPerformed(e);      }    });    downButton.setIcon(image2);    downButton.setActionCommand("down");    downButton.setNextFocusableComponent(leftButton);    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.setIcon(image1);    upButton.setActionCommand("up");    upButton.setNextFocusableComponent(downButton);    upButton.setPreferredSize(new Dimension(27, 27));    upButton.setToolTipText("Move item up");    jPanel5.setLayout(gridBagLayout2);    jPanel5.setPreferredSize(new Dimension(30, 37));    jPanel5.setRequestFocusEnabled(false);    OptionTree.setNextFocusableComponent(NodePropertiesButton);    OptionTree.setPreferredSize(new Dimension(123, 72));    OptionTree.setEditable(true);    OptionTree.addMouseListener(new java.awt.event.MouseAdapter() {      public void mouseClicked(MouseEvent e) {        OptionTree_mouseClicked(e);      }    });    OptionTree.addTreeSelectionListener(new javax.swing.event.TreeSelectionListener() {      public void valueChanged(TreeSelectionEvent e) {        OptionTree_valueChanged(e);      }    });    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) {      }    });    PreviewPane.setEditable(false);    PreviewPane.setRequestFocusEnabled(false);    leftButton.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        moveItems_actionPerformed(e);      }    });    leftButton.setIcon(image3);    leftButton.setActionCommand("left");    leftButton.setNextFocusableComponent(rightButton);    leftButton.setPreferredSize(new Dimension(27, 27));    leftButton.setToolTipText("Move item to the left");    jPanel2.setLayout(flowLayout1);    jPanel2.setMinimumSize(new Dimension(105, 133));    jPanel2.setRequestFocusEnabled(false);    rightButton.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        moveItems_actionPerformed(e);      }    });    rightButton.setIcon(image4);    rightButton.setActionCommand("right");    rightButton.setNextFocusableComponent(PreviewScroller);    rightButton.setPreferredSize(new Dimension(27, 27));    rightButton.setToolTipText("Move item to the right");    jPanel4.setLayout(borderLayout4);    NodePropertiesButton.setNextFocusableComponent(upButton);    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);      }    });    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);      }    });    jSplitPane1.setRequestFocusEnabled(false);    jPanel6.setRequestFocusEnabled(false);    jPanel1.setRequestFocusEnabled(false);    jPanel4.setRequestFocusEnabled(false);    jScrollPane2.setNextFocusableComponent(OptionTree);    this.getContentPane().add(jSplitPane1, BorderLayout.CENTER);    jSplitPane1.add(jPanel3, JSplitPane.RIGHT);    jPanel3.add(jScrollPane1, BorderLayout.CENTER);    jSplitPane1.add(jPanel1, JSplitPane.LEFT);    jPanel1.add(jScrollPane2, 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.CENTER);    jPanel2.add(leftButton, null);    jPanel2.add(rightButton, null);    jPanel4.add(NodePropertiesButton, BorderLayout.EAST);    jScrollPane2.getViewport().add(OptionTree, null);    jScrollPane1.getViewport().add(PreviewPanel, null);    PreviewPanel.add(PreviewScroller, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0            ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));    PreviewScroller.getViewport().add(PreviewPane, null);    TreePopupMenu.add(jMenuCut);    TreePopupMenu.add(jMenuCopy);    TreePopupMenu.add(jMenuPaste);    TreePopupMenu.addSeparator();    TreePopupMenu.add(jMenuDelete);    TreePopupMenu.addSeparator();    TreePopupMenu.add(jMenuProperties);    jSplitPane1.setDividerLocation(150);  }  /**   * Moves nodes up and down, left and right, adding and removing them from other nodes   * and their parents.   */  private void moveItems_actionPerformed(ActionEvent e) {    JButton b = (JButton) e.getSource();    int cnt = path.getPathCount();    if (b.getActionCommand().equals("up")) {      try {        DefaultMutableTreeNode child = (DefaultMutableTreeNode) path.getPathComponent(cnt -1);        DefaultMutableTreeNode parent = (DefaultMutableTreeNode) child.getParent();        int index = parent.getIndex(child);        index--;        if (index > -1) {          tm.removeNodeFromParent(child);          tm.insertNodeInto(child, parent, index);          OptionTree.setSelectionPath(path);          updateSample();        }      }      catch (NullPointerException nullerr) {}      catch (ArrayIndexOutOfBoundsException arrerr) {}    }    if (b.getActionCommand().equals("down")) {      try {        DefaultMutableTreeNode child = (DefaultMutableTreeNode) path.getPathComponent(cnt -1);        DefaultMutableTreeNode parent = (DefaultMutableTreeNode) child.getParent();        int index = parent.getIndex(child);        index++;        if (index < parent.getChildCount()) {          tm.removeNodeFromParent(child);          tm.insertNodeInto(child, parent, index);          OptionTree.setSelectionPath(path);          updateSample();

⌨️ 快捷键说明

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