太疯狂了(java实现简单记事本功能的方法)java实现简单记事本功能有哪些,java实现简单记事本,java记事本,
package 实习;import com.sun.corba.se.impl.protocol.JIDLLocalCRDImpl;import javax.swing.*;import java.awt.*;import java.awt.datatransfer.Clipboard;import java.awt.datatransfer.DataFlavor;import java.awt.datatransfer.StringSelection;import java.awt.datatransfer.Transferable;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.*;import java.util.Calendar;//以上都是一些需要用到的库类public class 下拉式菜单 {public static void main(String[] args) {SwingUtilities.invokeLater(下拉式菜单::creatGUI);}public static void creatGUI() {//创建可视化窗口 JFrame f = new JFrame("###的小本本");//设定显示位置,左上角为(0,0),根据笔记本电脑的显示分辨率设置成在正中间显示 f.setLocation(480, 270);//这是显示窗口的左上角坐标 //设定窗口大小为屏幕1/2倍(电脑显示分辨率) f.setSize(960, 540);//我电脑显示分辨率为1920*1080 //创建文本域用来打字显示出来的 JTextArea WBY = new JTextArea("Hello");//这里可以输入东西到时候打开窗体自动显示出来 WBY.setFont(new Font("", Font.BOLD, 25));//设置文本域为自动换行 WBY.setLineWrap(true);//将文本域添加到含有下拉框的面板中 JScrollPane MB = new JScrollPane(WBY);//将含有下拉框的面板放入内容面板中 f.add(MB);//创建一个菜单栏 JMenuBar cdl = new JMenuBar();//创建菜单栏上的5个菜单并且设置字体和大小 JMenu m1 = new JMenu("文件");JMenu m2 = new JMenu("编辑");JMenu m3 = new JMenu("字体大小");JMenu m4 = new JMenu("字体颜色");JMenu m5 = new JMenu("帮助文档");m1.setFont(new Font("", Font.BOLD, 25));m2.setFont(new Font("", Font.BOLD, 25));m3.setFont(new Font("", Font.BOLD, 25));m4.setFont(new Font("", Font.BOLD, 25));m5.setFont(new Font("", Font.BOLD, 25));//在菜单的基础上创建下拉可选菜单项按钮 JMenuItem x1 = new JMenuItem("新建");JMenuItem x2 = new JMenuItem("保存");JMenuItem x3 = new JMenuItem("打开");JMenuItem x4 = new JMenuItem("退出");JMenuItem x5 = new JMenuItem("复制");JMenuItem x6 = new JMenuItem("粘贴");JMenuItem x7 = new JMenuItem("裁剪");JMenuItem x8 = new JMenuItem("删除");JMenuItem x9 = new JMenuItem("大");JMenuItem x10 = new JMenuItem("中");JMenuItem x11 = new JMenuItem("小");JMenuItem x12 = new JMenuItem("红色");JMenuItem x13 = new JMenuItem("绿色");JMenuItem x14 = new JMenuItem("蓝色");JMenuItem x15 = new JMenuItem("黑色");JMenuItem x16 = new JMenuItem("百度");//为下拉可选菜单项设置字体和大小 x1.setFont(new Font("s", Font.BOLD, 20));x2.setFont(new Font("s", Font.BOLD, 20));x3.setFont(new Font("s", Font.BOLD, 20));x4.setFont(new Font("s", Font.BOLD, 20));x5.setFont(new Font("s", Font.BOLD, 20));x6.setFont(new Font("s", Font.BOLD, 20));x7.setFont(new Font("s", Font.BOLD, 20));x8.setFont(new Font("s", Font.BOLD, 20));x9.setFont(new Font("s", Font.BOLD, 40));x10.setFont(new Font("s", Font.BOLD, 30));x11.setFont(new Font("s", Font.BOLD, 20));x12.setFont(new Font("s", Font.BOLD, 20));x13.setFont(new Font("s", Font.BOLD, 20));x14.setFont(new Font("s", Font.BOLD, 20));x15.setFont(new Font("s", Font.BOLD, 20));x16.setFont(new Font("s", Font.BOLD, 20));//给颜色下拉菜单项分别设置相应的背景色,这样展现就会直观一点了 x12.setBackground(Color.RED);x13.setBackground(Color.GREEN);x14.setBackground(Color.BLUE);x15.setBackground(Color.BLACK);//实现新建记事本按钮的功能 x1.addActionListener(e -> {creatGUI();});//再次调用该方法创建另外一个记事本 //实现保存记事本按钮的功能 x2.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e2) {//创建一个窗体并且设置窗体标题和保存功能 FileDialog fileDialog = new FileDialog(f, "保存文件至", FileDialog.SAVE);//保存文件的对话框设置为可见 fileDialog.setVisible(true);//获取保存的路径和设置的文件名 String absPath = fileDialog.getDirectory() + fileDialog.getFile();try {//用来检测是否设置了保存路径 //设置输出文件名为保存的路径下面的文件名 BufferedWriter wr = new BufferedWriter(new FileWriter(absPath));//获取文本域字符串 String s = WBY.getText();//开始写入 wr.write(s);//写完关闭 wr.close();} catch (IOException e) {e.printStackTrace();}}});//实现打开记事本按钮的功能 x3.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e2) {//创建一个窗体并且设置窗体标题和打开功能 FileDialog fileDialog = new FileDialog(f, "打开文件", FileDialog.LOAD);//打开文件的对话框设置为可见 fileDialog.setVisible(true);//获取打开的路径和设置的文件名 String absPath = fileDialog.getDirectory() + fileDialog.getFile();try {//用来检测是否设置了打开路径 //设置读入文件名为打开的路径下面的文件名 BufferedReader re = new BufferedReader(new FileReader(absPath));String line;while ((line = re.readLine()) != null)//只要文件中不为空就不断追加到文本框中 WBY.append(line + \n);//读取完毕结束 re.close();} catch (Exception e) {e.printStackTrace();}}});//实现退出记事本按钮的功能 x4.addActionListener(e -> System.exit(0));//调用文件工具箱下的系统剪贴板方法 Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();//实现复制文本按钮的功能 x5.addActionListener(e -> {//将选中的文本内容存入text中 String text = WBY.getSelectedText();//传送到字符串里面存着 StringSelection selection = new StringSelection(text);//将得到的内容放入到剪切板中 clipboard.setContents(selection, null);});//实现粘贴文本按钮的功能 x6.addActionListener(e -> {//获取系统剪贴板中的内容 Transferable text = clipboard.getContents(null);//判断剪贴板中的内容是否支持文本 if (text.isDataFlavorSupported(DataFlavor.stringFlavor)) {try {//强制转换剪贴板中的内容 String text1 = (String) text.getTransferData(DataFlavor.stringFlavor);//获取当前光标的位置 int n = WBY.getCaretPosition();//插入复制的内容到文本框的光标后面 WBY.insert(text1, n);} catch (Exception e2) {e2.printStackTrace();}}});//实现裁剪文本按钮的功能 x7.addActionListener(e -> {//将得到的选择文本内容存入text中 String text = WBY.getSelectedText();//传送到字符串里面存着 StringSelection selection = new StringSelection(text);//将得到的内容放到剪切板中 clipboard.setContents(selection, null);//将选中文本start到end之间的内容替换为空白"" WBY.replaceRange("", WBY.getSelectionStart(), WBY.getSelectionEnd());});//实现删除文本按钮的功能 x8.addActionListener(e -> {//将选中文本start到end之间的内容替换为空白 WBY.replaceRange("", WBY.getSelectionStart(), WBY.getSelectionEnd());});//实现字体变大的功能 x9.addActionListener(e -> {WBY.setFont(new Font("", Font.BOLD, 40));});//实现字体变中等大小的功能 x10.addActionListener(e -> {WBY.setFont(new Font("", Font.BOLD, 30));});//实现字体变小的功能 x11.addActionListener(e -> {WBY.setFont(new Font("", Font.BOLD, 20));});//实现字体颜色变红的功能 x12.addActionListener(e -> {WBY.setForeground(Color.RED);});//实现字体颜色变绿的功能 x13.addActionListener(e -> {WBY.setForeground(Color.GREEN);});//实现字体颜色变蓝的功能 x14.addActionListener(e -> {WBY.setForeground(Color.BLUE);});//实现字体颜色变黑的功能 x15.addActionListener(e -> {WBY.setForeground(Color.BLACK);});//实现打开帮助文档的功能 x16.addActionListener(e -> {//创建消息提示框,包括显示内容和弹窗标题 JOptionPane.showMessageDialog(f,"百度!", "提示", JOptionPane.INFORMATION_MESSAGE);});//分别给5个菜单添加各自的下拉菜单项 m1.add(x1);m1.addSeparator();//两个菜单项之间添加界线 m1.add(x2);m1.addSeparator();//两个菜单项之间添加界线 m1.add(x3);m1.addSeparator();//两个菜单项之间添加界线 m1.add(x4);m2.add(x5);m2.addSeparator();//两个菜单项之间添加界线 m2.add(x6);m2.addSeparator();//两个菜单项之间添加界线 m2.add(x7);m2.addSeparator();//两个菜单项之间添加界线 m2.add(x8);m3.add(x9);m3.addSeparator();//两个菜单项之间添加界线 m3.add(x10);m3.addSeparator();//两个菜单项之间添加界线 m3.add(x11);m4.add(x12);m4.addSeparator();//两个菜单项之间添加界线 m4.add(x13);m4.addSeparator();//两个菜单项之间添加界线 m4.add(x14);m4.addSeparator();//两个菜单项之间添加界线 m4.add(x15);m5.add(x16);//添加这5个菜单到菜单栏 cdl.add(m1);cdl.add(m2);cdl.add(m3);cdl.add(m4);cdl.add(m5);//给窗体添加完善好的菜单栏 f.setJMenuBar(cdl);//记事本设置为可见 f.setVisible(true);//点击×号结束应用程序 f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);}}
代码最终运行结果 版权申明
本文系作者 @河马 原创发布在河马博客站点。未经许可,禁止转载。
暂无评论数据