import javax.swing.*; import java.awt.*; import java.awt.datatransfer.*; import java.awt.event.ActionEvent; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; public class work28_note { JTextArea jTextArea; JMenu jMenu1,jMenu2,jMenu3,jMenu4,jMenu5; JMenuBar jMenuBar; JMenuItem jMenuItem1,jMenuItem2,jMenuItem3,jMenuItem4,jMenuItem5,jMenuItem6,jMenuItem7,jMenuItem8,jMenuItem9,jMenuItem10,jMenuItem11,jMenuItem12,jMenuItem13,jMenuItem14,jMenuItem15,jMenuItem16,jMenuItem17,jMenuItem18,jMenuItem19,jMenuItem20,jMenuItem21,jMenuItem22,jMenuItem23,jMenuItem24,jMenuItem25; work28_note(){ jTextArea =new JTextArea(); JFrame jFrame=new JFrame("记事本"); jTextArea.setBounds(0,0,1920,1080); jMenuBar=new JMenuBar(); jMenu1=new JMenu("文件(F)"); jMenu2=new JMenu("编辑(E)"); jMenu3=new JMenu("格式(O)"); jMenu4=new JMenu("查看(V)"); jMenu5=new JMenu("帮助(H)"); jMenu1.setFont(new Font("仿宋",Font.PLAIN,16)); jMenu2.setFont(new Font("仿宋",Font.PLAIN,16)); jMenu3.setFont(new Font("仿宋",Font.PLAIN,16)); jMenu4.setFont(new Font("仿宋",Font.PLAIN,16)); jMenu5.setFont(new Font("仿宋",Font.PLAIN,16)); //文件 jMenuItem1=new JMenuItem("新建"); jMenuItem2=new JMenuItem("新窗口"); jMenuItem3=new JMenuItem("打开"); jMenuItem4=new JMenuItem("保存"); jMenuItem5=new JMenuItem("另存为"); jMenuItem6=new JMenuItem("页面设置"); jMenuItem7=new JMenuItem("打印"); jMenuItem8=new JMenuItem("退出"); //编辑 jMenuItem9=new JMenuItem("撤销"); jMenuItem10=new JMenuItem("剪切"); jMenuItem11=new JMenuItem("复制"); jMenuItem12=new JMenuItem("粘贴"); jMenuItem13=new JMenuItem("删除"); jMenuItem14=new JMenuItem("查找"); jMenuItem15=new JMenuItem("替换"); jMenuItem16=new JMenuItem("转到"); jMenuItem17=new JMenuItem("全选"); jMenuItem18=new JMenuItem("时间"); //格式 jMenuItem19=new JMenuItem("自动换行"); jMenuItem20=new JMenuItem("字体"); //查看 jMenuItem21=new JMenuItem("缩放"); jMenuItem22=new JMenuItem("状态栏"); //帮助 jMenuItem23=new JMenuItem("查看帮助"); jMenuItem24=new JMenuItem("发送反馈"); jMenuItem25=new JMenuItem("关于记事本"); //设置菜单栏字体大小和形状 jMenuItem1.setFont(new Font("s",Font.BOLD,11)); jMenuItem2.setFont(new Font("s",Font.BOLD,11)); jMenuItem3.setFont(new Font("s",Font.BOLD,11)); jMenuItem4.setFont(new Font("s",Font.BOLD,11)); jMenuItem5.setFont(new Font("s",Font.BOLD,11)); jMenuItem6.setFont(new Font("s",Font.BOLD,11)); jMenuItem7.setFont(new Font("s",Font.BOLD,11)); jMenuItem8.setFont(new Font("s",Font.BOLD,11)); jMenuItem9.setFont(new Font("s",Font.BOLD,11)); jMenuItem10.setFont(new Font("s",Font.BOLD,11)); jMenuItem11.setFont(new Font("s",Font.BOLD,11)); jMenuItem12.setFont(new Font("s",Font.BOLD,11)); jMenuItem13.setFont(new Font("s",Font.BOLD,11)); jMenuItem14.setFont(new Font("s",Font.BOLD,11)); jMenuItem15.setFont(new Font("s",Font.BOLD,11)); jMenuItem16.setFont(new Font("s",Font.BOLD,11)); jMenuItem17.setFont(new Font("s",Font.BOLD,11)); jMenuItem18.setFont(new Font("s",Font.BOLD,11)); jMenuItem19.setFont(new Font("s",Font.BOLD,11)); jMenuItem20.setFont(new Font("s",Font.BOLD,11)); jMenuItem21.setFont(new Font("s",Font.BOLD,11)); jMenuItem22.setFont(new Font("s",Font.BOLD,11)); jMenuItem23.setFont(new Font("s",Font.BOLD,11)); jMenuItem24.setFont(new Font("s",Font.BOLD,11)); jMenuItem25.setFont(new Font("s",Font.BOLD,11)); //将菜单栏分别插入到对应菜单 jMenu1.add(jMenuItem1); jMenu1.add(jMenuItem2); jMenu1.add(jMenuItem3); jMenu1.add(jMenuItem4); jMenu1.add(jMenuItem5); jMenu1.add(jMenuItem6); jMenu1.add(jMenuItem7); jMenu1.add(jMenuItem8); jMenu2.add(jMenuItem9); jMenu2.add(jMenuItem10); jMenu2.add(jMenuItem11); jMenu2.add(jMenuItem12); jMenu2.add(jMenuItem13); jMenu2.add(jMenuItem14); jMenu2.add(jMenuItem15); jMenu2.add(jMenuItem16); jMenu2.add(jMenuItem17); jMenu2.add(jMenuItem18); jMenu3.add(jMenuItem19); jMenu3.add(jMenuItem20); jMenu4.add(jMenuItem21); jMenu4.add(jMenuItem22); jMenu5.add(jMenuItem23); jMenu5.add(jMenuItem24); jMenu5.add(jMenuItem25); jMenuBar.add(jMenu1); jMenuBar.add(jMenu2); jMenuBar.add(jMenu3); jMenuBar.add(jMenu4); jMenuBar.add(jMenu5); jFrame.add(jTextArea); jFrame.setJMenuBar(jMenuBar); jFrame.setSize(1920,1080); jFrame.setLayout(null); jFrame.setVisible(true); // 保存功能的实现 jMenuItem4.addActionListener(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { FileDialog fileDialog=new FileDialog(jFrame,"保存文件至:"); fileDialog.setVisible(true); String Path=fileDialog.getDirectory()+fileDialog.getFile(); try { BufferedWriter wr=new BufferedWriter(new FileWriter(Path)); String s=jTextArea.getText(); wr.write(s); wr.close(); }catch (IOException e1){ e1.printStackTrace(); } } }); // 复制功能的实现 Clipboard clipboard=Toolkit.getDefaultToolkit().getSystemClipboard(); jMenuItem11.addActionListener(e -> { String text=jTextArea.getSelectedText(); StringSelection stringSelection=new StringSelection(text); clipboard.setContents(stringSelection,null); }); // 粘贴功能的实现 jMenuItem12.addActionListener(e -> { Transferable transferable=clipboard.getContents(null); int n=jTextArea.getCaretPosition(); String text1= null; try { text1 = (String)transferable.getTransferData(DataFlavor.stringFlavor); } catch (UnsupportedFlavorException ex) { throw new RuntimeException(ex); } catch (IOException ex) { throw new RuntimeException(ex); } jTextArea.insert(text1,n); }); jMenuItem23.addActionListener(e -> { JOptionPane.showMessageDialog(jFrame,"CSDN","提示",JOptionPane.INFORMATION_MESSAGE); }); } public static void main(String[] args) { new work28_note(); } }
Java实现简易记事本,实现部分功能(保存,复制,粘贴)
最新推荐文章于 2023-06-24 14:32:05 发布