Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何启用复制/剪切/粘贴项目_Java_Swing_Jmenuitem_Cut And Paste - Fatal编程技术网

Java 如何启用复制/剪切/粘贴项目

Java 如何启用复制/剪切/粘贴项目,java,swing,jmenuitem,cut-and-paste,Java,Swing,Jmenuitem,Cut And Paste,我正在用netbeans制作文本编辑器,并在编辑菜单中添加了名为“复制、剪切和粘贴”的项目 如何在actionPerformed()之后启用这些按钮来执行这些功能 以下是我的尝试: private void CopyActionPerformed(java.awt.event.ActionEvent evt) { JMenuItem Copy = new JMenuItem(new DefaultE

我正在用netbeans制作文本编辑器,并在编辑菜单中添加了名为“复制、剪切和粘贴”的项目

如何在actionPerformed()之后启用这些按钮来执行这些功能

以下是我的尝试:

    private void CopyActionPerformed(java.awt.event.ActionEvent evt) {                                     

       JMenuItem Copy = new JMenuItem(new DefaultEditorKit.CopyAction()); 
    }                                    

    private void PasteActionPerformed(java.awt.event.ActionEvent evt) {                                      
     JMenuItem Paste = new JMenuItem(new DefaultEditorKit.PasteAction()); 
    }                                     

    private void CutActionPerformed(java.awt.event.ActionEvent evt) {                                    
       JMenuItem Cut = new JMenuItem(new DefaultEditorKit.CutAction()); 
    }                                   
然后使用

    edit.cut();
    edit.copy();
    edit.paste();

具有剪切、复制、粘贴功能的简单编辑器示例:

      public class SimpleEditor extends JFrame {

      public static void main(String[] args) {
      JFrame window = new SimpleEditor();
      window.setVisible(true);
      }
      private JEditorPane editPane;   

      public SimpleEditor() {
      editPane = new JEditorPane("text/rtf","");
      JScrollPane scroller = new JScrollPane(editPane);
      setContentPane(scroller);
      setDefaultCloseOperation(EXIT_ON_CLOSE);
      JMenuBar bar = new JMenuBar();
      setJMenuBar(bar);
      setSize(600,500);

      JMenu editMenu = new JMenu("Edit");

      Action cutAction = new DefaultEditorKit.CutAction();
      cutAction.putValue(Action.NAME, "Cut");
      editMenu.add(cutAction);

      Action copyAction = new DefaultEditorKit.CopyAction();
      copyAction.putValue(Action.NAME, "Copy");
      editMenu.add(copyAction);

      Action pasteAction = new DefaultEditorKit.PasteAction();
      pasteAction.putValue(Action.NAME, "Paste");
      editMenu.add(pasteAction);

      bar.add(editMenu);
   }

}

希望这有帮助

请学习java命名约定并坚持这些约定没有问题!但是,请务必阅读JavaSwing,并充分理解代码对扩展代码的作用!:)
      public class SimpleEditor extends JFrame {

      public static void main(String[] args) {
      JFrame window = new SimpleEditor();
      window.setVisible(true);
      }
      private JEditorPane editPane;   

      public SimpleEditor() {
      editPane = new JEditorPane("text/rtf","");
      JScrollPane scroller = new JScrollPane(editPane);
      setContentPane(scroller);
      setDefaultCloseOperation(EXIT_ON_CLOSE);
      JMenuBar bar = new JMenuBar();
      setJMenuBar(bar);
      setSize(600,500);

      JMenu editMenu = new JMenu("Edit");

      Action cutAction = new DefaultEditorKit.CutAction();
      cutAction.putValue(Action.NAME, "Cut");
      editMenu.add(cutAction);

      Action copyAction = new DefaultEditorKit.CopyAction();
      copyAction.putValue(Action.NAME, "Copy");
      editMenu.add(copyAction);

      Action pasteAction = new DefaultEditorKit.PasteAction();
      pasteAction.putValue(Action.NAME, "Paste");
      editMenu.add(pasteAction);

      bar.add(editMenu);
   }

}