ActionDemoPanel.java
上传用户:zhengdagz
上传日期:2014-03-06
资源大小:1956k
文件大小:9k
源码类别:

xml/soap/webservice

开发平台:

Java

  1. /*
  2.  * DropShadowBorderPanel.java
  3.  *
  4.  * Created on April 28, 2005, 10:27 AM
  5.  */
  6. package org.jdesktop.demo.swingx;
  7. import com.jgoodies.looks.HeaderStyle;
  8. import com.jgoodies.looks.Options;
  9. import com.sun.java.swing.SwingUtilities2;
  10. import java.awt.BorderLayout;
  11. import java.awt.Insets;
  12. import java.awt.event.ItemEvent;
  13. import java.util.ArrayList;
  14. import java.util.List;
  15. import javax.swing.Icon;
  16. import javax.swing.ImageIcon;
  17. import javax.swing.JMenuBar;
  18. import org.jdesktop.demo.DemoPanel;
  19. import org.jdesktop.demo.MainWindow;
  20. import org.jdesktop.swingx.JXEditorPane;
  21. import org.jdesktop.swingx.action.AbstractActionExt;
  22. import org.jdesktop.swingx.action.ActionContainerFactory;
  23. import org.jdesktop.swingx.action.ActionManager;
  24. import org.jdesktop.swingx.action.BoundAction;
  25. import org.jdesktop.swingx.action.TargetManager;
  26. import org.jdesktop.swingx.action.TargetableAction;
  27. import org.jdesktop.swingx.border.DropShadowBorder;
  28. /**
  29.  *
  30.  * @author  rbair
  31.  */
  32. public class ActionDemoPanel extends DemoPanel {
  33.     private List actions = new ArrayList();
  34.     private List toolbarActions = new ArrayList();
  35.     private ActionManager manager;
  36.     private DropShadowBorder dsb = new DropShadowBorder();
  37.     
  38.     /**
  39.      * @param args the command line arguments
  40.      */
  41.     public static void main(String args[]) {
  42.         MainWindow.main(new String[]{"-d", "org.jdesktop.demo.swingx.ActionDemoPanel"});
  43.     }
  44.     
  45.     private final class AntiAliasAction extends AbstractActionExt {
  46.         public AntiAliasAction(String text, String commandId, Icon icon) {
  47.             super(text, commandId, icon);
  48.             super.setStateAction(true);
  49.         }
  50.         public void actionPerformed(java.awt.event.ActionEvent e) {
  51.             //do nothing
  52.         }
  53.         public void itemStateChanged(ItemEvent e) {
  54.             switch (e.getStateChange()) {
  55.                 case ItemEvent.SELECTED:
  56.                     editorPane.putClientProperty(SwingUtilities2.AA_TEXT_PROPERTY_KEY, Boolean.TRUE);
  57.                     editorPane.repaint();
  58.                     break;
  59.                 case ItemEvent.DESELECTED:
  60.                     editorPane.putClientProperty(SwingUtilities2.AA_TEXT_PROPERTY_KEY, Boolean.FALSE);
  61.                     editorPane.repaint();
  62.                     break;
  63.             }
  64.         }
  65.     }
  66.    
  67.     public ActionDemoPanel() {
  68.         setName("Action Demo");
  69.         
  70.         //just using the same icon for now
  71.         ImageIcon icon = new ImageIcon(getClass().getResource("resources/gear.png"));
  72.         
  73.         manager = ActionManager.getInstance();
  74.         manager.addAction(new BoundAction("File", "fileMenu"));
  75.         manager.addAction(new BoundAction("Text", "textMenu"));
  76.         manager.addAction(new BoundAction("Save", "save", loadIcon("/toolbarButtonGraphics/general/Save16.gif")));
  77.         manager.addAction(new BoundAction("Print", "print", loadIcon("/toolbarButtonGraphics/general/Print16.gif")));
  78.         manager.addAction(new TargetableAction("Cut", "cut", loadIcon("/toolbarButtonGraphics/general/Cut16.gif")));
  79.         manager.addAction(new TargetableAction("Copy", "copy", loadIcon("/toolbarButtonGraphics/general/Copy16.gif")));
  80.         manager.addAction(new TargetableAction("Paste", "paste", loadIcon("/toolbarButtonGraphics/general/Paste16.gif")));
  81.         manager.addAction(new TargetableAction("Undo", "undo", loadIcon("/toolbarButtonGraphics/general/Undo16.gif")));
  82.         manager.addAction(new TargetableAction("Redo", "redo", loadIcon("/toolbarButtonGraphics/general/Redo16.gif")));
  83.         manager.addAction(new TargetableAction("Find", "find", loadIcon("/toolbarButtonGraphics/general/Search16.gif")));
  84.         manager.addAction(new TargetableAction("Left Align", "left-justify", loadIcon("/toolbarButtonGraphics/text/AlignLeft16.gif")));
  85.         manager.addAction(new TargetableAction("Center Align", "center-justify", loadIcon("/toolbarButtonGraphics/text/AlignCenter16.gif")));
  86.         manager.addAction(new TargetableAction("Right Align", "right-justify", loadIcon("/toolbarButtonGraphics/text/AlignRight16.gif")));
  87.         manager.addAction(new TargetableAction("Bold", "font-bold", loadIcon("/toolbarButtonGraphics/text/Bold16.gif")));
  88.         manager.addAction(new TargetableAction("Italic", "font-italic", loadIcon("/toolbarButtonGraphics/text/Italic16.gif")));
  89.         manager.addAction(new TargetableAction("Normal", "font-normal", loadIcon("/toolbarButtonGraphics/text/Normal16.gif")));
  90.         manager.addAction(new TargetableAction("Underline", "font-underline", loadIcon("/toolbarButtonGraphics/text/Underline16.gif")));
  91.         manager.addAction(new AntiAliasAction("Anti-Alias", "aa", icon));
  92.         
  93.         List fileMenu = new ArrayList();
  94.         fileMenu.add("fileMenu");
  95.         actions.add(fileMenu);
  96.         actions.add("save");
  97.         actions.add("print");
  98.         List textMenu = new ArrayList();
  99.         textMenu.add("textMenu");
  100.         actions.add(textMenu);
  101.         actions.add("cut");
  102.         actions.add("copy");
  103.         actions.add("paste");
  104.         actions.add("undo");
  105.         actions.add("redo");
  106.         actions.add("find");
  107.         actions.add(null);
  108.         actions.add("left-justify");
  109.         actions.add("center-justify");
  110.         actions.add("right-justify");
  111.         actions.add(null);
  112.         actions.add("font-bold");
  113.         actions.add("font-italic");
  114.         actions.add("font-underline");
  115.         actions.add("font-normal");
  116.         actions.add(null);
  117.         actions.add("aa");
  118.         
  119.         ((AbstractActionExt)manager.getAction("left-justify")).setGroup("alignment");
  120. //        ((AbstractActionExt)manager.getAction("left-justify")).setStateAction(true);
  121.         ((AbstractActionExt)manager.getAction("center-justify")).setGroup("alignment");
  122. //        ((AbstractActionExt)manager.getAction("center-justify")).setStateAction(true);
  123.         ((AbstractActionExt)manager.getAction("right-justify")).setGroup("alignment");
  124. //        ((AbstractActionExt)manager.getAction("right-justify")).setStateAction(true);
  125.         
  126.         ((AbstractActionExt)manager.getAction("font-bold")).setStateAction(true);
  127.         ((AbstractActionExt)manager.getAction("font-italic")).setStateAction(true);
  128.         ((AbstractActionExt)manager.getAction("font-underline")).setStateAction(true);
  129.         ((AbstractActionExt)manager.getAction("font-normal")).setStateAction(true);
  130.         toolbarActions.addAll(actions);
  131.         toolbarActions.remove(fileMenu);
  132.         toolbarActions.remove(textMenu);
  133.         toolbarActions.add(2, null);
  134.         
  135. //        dsb.setShadowSize(5);
  136. //        dsb.setShowRightShadow(false);
  137.         
  138.         initComponents();
  139. //        menuPanel.setBorder(dsb);
  140.         
  141.         toolBar.putClientProperty(Options.HEADER_STYLE_KEY, HeaderStyle.BOTH);
  142.         toolBar.setBorderPainted(false);
  143.         toolBar.setMargin(new Insets(0, 0, 0, 0));
  144.         toolBar.setBorder(null);
  145.         
  146.         TargetManager targetManager = TargetManager.getInstance();
  147.         targetManager.addTarget(editorPane);
  148.         
  149.         JMenuBar menuBar = new ActionContainerFactory(manager).createMenuBar(actions);
  150.         menuBar.setBorderPainted(false);
  151.         menuBar.putClientProperty(Options.HEADER_STYLE_KEY, HeaderStyle.BOTH);
  152.         menuPanel.add(menuBar, BorderLayout.NORTH);
  153.     }
  154.     private Icon loadIcon(String path) {
  155.         return new ImageIcon(getClass().getResource(path));
  156.     }
  157.     
  158.     public String getHtmlDescription() {
  159.         return "<html>Demonstrates various uses of the Action framework.</html>";
  160.     }
  161.     public String getName() {
  162.         return "Action Framework";
  163.     }
  164.     /** This method is called from within the constructor to
  165.      * initialize the form.
  166.      * WARNING: Do NOT modify this code. The content of this method is
  167.      * always regenerated by the Form Editor.
  168.      */
  169.     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
  170.     private void initComponents() {
  171.         java.awt.GridBagConstraints gridBagConstraints;
  172.         menuPanel = new javax.swing.JPanel();
  173.         toolBar = new ActionContainerFactory(manager).createToolBar(toolbarActions);
  174.         jScrollPane1 = new javax.swing.JScrollPane();
  175.         editorPane = new JXEditorPane("text/rtf", "");
  176.         setLayout(new java.awt.GridBagLayout());
  177.         menuPanel.setLayout(new java.awt.BorderLayout());
  178.         toolBar.setBorder(null);
  179.         menuPanel.add(toolBar, java.awt.BorderLayout.CENTER);
  180.         gridBagConstraints = new java.awt.GridBagConstraints();
  181.         gridBagConstraints.gridx = 0;
  182.         gridBagConstraints.gridy = 0;
  183.         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
  184.         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
  185.         gridBagConstraints.weightx = 1.0;
  186.         add(menuPanel, gridBagConstraints);
  187.         jScrollPane1.setViewportView(editorPane);
  188.         gridBagConstraints = new java.awt.GridBagConstraints();
  189.         gridBagConstraints.gridx = 0;
  190.         gridBagConstraints.gridy = 2;
  191.         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
  192.         gridBagConstraints.weightx = 1.0;
  193.         gridBagConstraints.weighty = 1.0;
  194.         gridBagConstraints.insets = new java.awt.Insets(12, 12, 11, 11);
  195.         add(jScrollPane1, gridBagConstraints);
  196.     }
  197.     // </editor-fold>//GEN-END:initComponents
  198.     
  199.     // Variables declaration - do not modify//GEN-BEGIN:variables
  200.     private org.jdesktop.swingx.JXEditorPane editorPane;
  201.     private javax.swing.JScrollPane jScrollPane1;
  202.     private javax.swing.JPanel menuPanel;
  203.     private javax.swing.JToolBar toolBar;
  204.     // End of variables declaration//GEN-END:variables
  205. }