功能实现

界面功能介绍
  • 文件:
  • 新建:清空文件,如果曾经打开了一个文件的话,就不对源文件内容进行覆盖
  • 打开:打开文件浏览器,添加一个.txt文件
  • 保存:用新内容将原文件覆盖掉
  • 另存为:保存到一个新的目录
  • 退出:退出程序
  • 编辑:
  • 复制:将选中的文本用一个变量进行保存
  • 剪切:复制后删除
  • 粘贴:将复制后的文本粘贴到光标位置,如果鼠标选中了一段文字后粘贴,会将选中文字进行覆盖
  • 删除:删除选中文字
  • 查找:打开一个新的面板,在里面可以进行查找操作
  • 替换:打开一个面板,可以进行查找操作,在查找到之后可以对选中的文本进行替换操作
  • 字体:
    1. 加粗
    2. 倾斜
  • Color:
  • black
  • red
  • blue
  • green
  • others:打开颜色选择器

源码分析

  • 文件:

    • 先声明一个变量

      private JTextArea write; //作为编辑的文本框
      private File cFile; //作为打开文件时保存文件的变量
  • 打开:打开文件浏览器,添加一个.txt文件
  • JMenuItem open = new JMenuItem("打开");JFileChooser chooser = new JFileChooser();open.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);int value = chooser.showOpenDialog(Main.this);try {if (value == JFileChooser.APPROVE_OPTION) {chooser.setFileFilter(new FileNameExtensionFilter("可选文件", "txt"));cFile = chooser.getSelectedFile();BufferedReader br = new BufferedReader(new FileReader(cFile));String thisLine;write.setText("");while ((thisLine = br.readLine()) != null) {write.append(thisLine + "\r\n");}br.close();}} catch (Exception e2) {System.err.println("open " + e2);}}});
  • 保存:用新内容将原文件覆盖掉
  • JMenuItem save = new JMenuItem("保存");save.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {try {if (cFile == null) {return;} else {BufferedWriter bw = new BufferedWriter(new FileWriter(cFile));bw.write(write.getText());bw.close();}                    } catch (Exception e2) {System.err.println("save " + e);}}});
  • 另存为:保存到一个新的目录
  • JMenuItem saveToNewPlace = new JMenuItem("另存为");saveToNewPlace.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {int value = chooser.showSaveDialog(Main.this);try {if (value == JFileChooser.APPROVE_OPTION) {cFile = null;File file = chooser.getSelectedFile();if (file.exists() == false) {file.createNewFile();}BufferedWriter bw = new BufferedWriter(new FileWriter(file));bw.write(write.getText());bw.close();}} catch (Exception e2) {System.err.println("saveToNew " + e);}}});
  • 退出:退出程序
  • JMenuItem out = new JMenuItem("退出");out.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {System.exit(0);}});
  • 编辑:
  • 声明变量;
    private String copyText;//复制时暂存文本
    private int start;//用户光标前面的位置
    private int end;//用户光标后面的位置
  • 复制:将选中的文本用一个变量进行保存
  • JMenuItem copy = new JMenuItem("复制");copy.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {copy();}});
  • private void copy(){copyText = write.getSelectedText();}
  • 剪切:复制后删除
  • JMenuItem deleteAndCopy = new JMenuItem("剪切");deleteAndCopy.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {if (write.getSelectedText() != null) {copyText = write.getSelectedText();delete();}}});
  • 粘贴:将复制后的文本粘贴到光标位置,如果鼠标选中了一段文字后粘贴,会将选中文字进行覆盖
  • JMenuItem zhan = new JMenuItem("粘贴");zhan.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {zhan();}});
  • private void zhan(){if (copyText != null) {StringBuffer sb = new StringBuffer(write.getText().toString());String s1 = sb.substring(0, write.getSelectionStart());String s2 = sb.substring(write.getSelectionEnd());write.setText(s1);write.append(copyText);write.append(s2);}}
  • 删除:删除选中文字
  • JMenuItem delete= new JMenuItem("删除");delete.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {delete();}});
  • private void delete(){if (write.getSelectedText() != null) {StringBuffer sb = new StringBuffer(write.getText().toString());String s1 = sb.substring(0, write.getSelectionStart());String s2 = sb.substring(write.getSelectionEnd());write.setText(s1);write.append(s2);}}
  • 查找:打开一个新的面板,在里面可以进行查找操作
  • JMenuItem find = new JMenuItem("查找");find.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {find();}});
  • private void find(){EventQueue.invokeLater(new Runnable() {public void run() {try {Find frame = new Find();frame.setVisible(true);} catch (Exception e) {e.printStackTrace();}}});}
  • 替换:打开一个面板,可以进行查找操作,在查找到之后可以对选中的文本进行替换操作
  • JMenuItem replace = new JMenuItem("替换");replace.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {replace();}});
  • private void replace(){EventQueue.invokeLater(new Runnable() {public void run() {try {Replace frame = new Replace();frame.setVisible(true);} catch (Exception e) {e.printStackTrace();}}});}
  • 字体:
    1. 加粗
    2. 倾斜
  • JCheckBoxMenuItem blod = new JCheckBoxMenuItem("Blod");JCheckBoxMenuItem italic = new JCheckBoxMenuItem("italic");blod.addItemListener(new ItemListener() {public void itemStateChanged(ItemEvent e) {if (blod.isSelected()) {if (italic.isSelected()) {write.setFont(new Font("Arial", Font.BOLD + Font.ITALIC, 20));} else {write.setFont(new Font("Arial", Font.BOLD, 20));}} else {if (italic.isSelected()) {write.setFont(new Font("Arial", Font.ITALIC, 20));} else {write.setFont(new Font("Arial", Font.PLAIN, 20));}}}});italic.addItemListener(new ItemListener() {public void itemStateChanged(ItemEvent e) {if (italic.isSelected()) {if (blod.isSelected()) {write.setFont(new Font("Arial", Font.BOLD + Font.ITALIC, 20));}else {write.setFont(new Font("Arial", Font.ITALIC, 20));}} else {if (blod.isSelected()) {write.setFont(new Font("Arial", Font.BOLD, 20));}else {write.setFont(new Font("Arial", Font.PLAIN, 20));}}}});
  • Color:
  • black
  • JRadioButtonMenuItem black = new JRadioButtonMenuItem("black");black.setSelected(true);black.addItemListener(new ItemListener() {public void itemStateChanged(ItemEvent e) {write.setForeground(Color.black); //其他的几种颜色只需要改着一行代码就行}});
  • red
  • blue
  • green
  • others:打开颜色选择器
  • JMenuItem other = new JMenuItem("others...");other.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {JColorChooser jc = new JColorChooser(write.getForeground());Color be = write.getForeground();Color co = write.getForeground();co = jc.showDialog(null, "请选择颜色", co);if (co == null) {write.setForeground(be);} else {bg.clearSelection();write.setForeground(co);}}});

成品图片

整体外观:

一部分界面:

替换的窗口:
查找的窗口:

全部代码

  • 整体描述
  • 为了方便,代码中将查找和删除的界面全部做成了内部类
  • 有部分代码出现了复制粘贴的情况,因此这个版本并不出彩,希望大家进行改进
  • 全篇代码
  • package note2;import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.EventQueue;
    import javax.swing.ButtonGroup;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.filechooser.FileNameExtensionFilter;
    import javax.swing.JScrollPane;
    import javax.swing.JMenuBar;
    import javax.swing.JMenu;
    import javax.swing.JMenuItem;
    import javax.swing.JPanel;
    import javax.swing.JRadioButton;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    import java.awt.Font;
    import javax.swing.JTextArea;
    import javax.swing.JTextField;
    import javax.swing.border.EmptyBorder;
    import javax.swing.event.CaretEvent;
    import javax.swing.JRadioButtonMenuItem;
    import javax.swing.JCheckBoxMenuItem;
    import javax.swing.JColorChooser;
    import javax.swing.JFileChooser;
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.awt.event.ItemListener;
    import java.awt.event.ItemEvent;public class Main extends JFrame {private JTextArea write;private File cFile;private String copyText;private int start;private int end;public Main() {setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100, 100, 927, 1090);JScrollPane scrollPane = new JScrollPane();getContentPane().add(scrollPane, BorderLayout.CENTER);JMenuBar menuBar = new JMenuBar();scrollPane.setColumnHeaderView(menuBar);JMenu fileMenu = new JMenu("文件");menuBar.add(fileMenu);JMenuItem open = new JMenuItem("打开");JFileChooser chooser = new JFileChooser();open.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);int value = chooser.showOpenDialog(Main.this);try {if (value == JFileChooser.APPROVE_OPTION) {chooser.setFileFilter(new FileNameExtensionFilter("可选文件", "txt"));cFile = chooser.getSelectedFile();BufferedReader br = new BufferedReader(new FileReader(cFile));String thisLine;write.setText("");while ((thisLine = br.readLine()) != null) {write.append(thisLine + "\r\n");}br.close();}} catch (Exception e2) {System.err.println("open " + e2);}}});JMenuItem newfile = new JMenuItem("新建");newfile.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {cFile = null;write.setText("");}});fileMenu.add(newfile);fileMenu.add(open);JMenuItem save = new JMenuItem("保存");save.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {try {if (cFile == null) {return;} else {BufferedWriter bw = new BufferedWriter(new FileWriter(cFile));bw.write(write.getText());bw.close();}                 } catch (Exception e2) {System.err.println("save " + e);}}});fileMenu.add(save);JMenuItem saveToNewPlace = new JMenuItem("另存为");saveToNewPlace.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {int value = chooser.showSaveDialog(Main.this);try {if (value == JFileChooser.APPROVE_OPTION) {cFile = null;File file = chooser.getSelectedFile();if (file.exists() == false) {file.createNewFile();}BufferedWriter bw = new BufferedWriter(new FileWriter(file));bw.write(write.getText());bw.close();}} catch (Exception e2) {System.err.println("saveToNew " + e);}}});fileMenu.add(saveToNewPlace);JMenuItem out = new JMenuItem("退出");out.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {System.exit(0);}});fileMenu.add(out);JMenu editMenu = new JMenu("编辑");menuBar.add(editMenu);JMenuItem copy = new JMenuItem("复制");copy.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {copy();}});editMenu.add(copy);JMenuItem deleteAndCopy = new JMenuItem("剪切");deleteAndCopy.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {if (write.getSelectedText() != null) {copyText = write.getSelectedText();delete();}}});editMenu.add(deleteAndCopy);JMenuItem zhan = new JMenuItem("粘贴");zhan.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {zhan();}});editMenu.add(zhan);JMenuItem delete= new JMenuItem("删除");delete.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {delete();}});editMenu.add(delete);JMenuItem find = new JMenuItem("查找");find.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {find();}});editMenu.add(find);JMenuItem replace = new JMenuItem("替换");replace.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {replace();}});editMenu.add(replace);JMenu textStyle = new JMenu("字体");editMenu.add(textStyle);JCheckBoxMenuItem blod = new JCheckBoxMenuItem("Blod");JCheckBoxMenuItem italic = new JCheckBoxMenuItem("italic");blod.addItemListener(new ItemListener() {public void itemStateChanged(ItemEvent e) {if (blod.isSelected()) {if (italic.isSelected()) {write.setFont(new Font("Arial", Font.BOLD + Font.ITALIC, 20));} else {write.setFont(new Font("Arial", Font.BOLD, 20));}} else {if (italic.isSelected()) {write.setFont(new Font("Arial", Font.ITALIC, 20));} else {write.setFont(new Font("Arial", Font.PLAIN, 20));}}}});textStyle.add(blod);italic.addItemListener(new ItemListener() {public void itemStateChanged(ItemEvent e) {if (italic.isSelected()) {if (blod.isSelected()) {write.setFont(new Font("Arial", Font.BOLD + Font.ITALIC, 20));}else {write.setFont(new Font("Arial", Font.ITALIC, 20));}} else {if (blod.isSelected()) {write.setFont(new Font("Arial", Font.BOLD, 20));}else {write.setFont(new Font("Arial", Font.PLAIN, 20));}}}});textStyle.add(italic);JMenu color = new JMenu("Color");menuBar.add(color);ButtonGroup bg = new ButtonGroup();JRadioButtonMenuItem black = new JRadioButtonMenuItem("black");black.setSelected(true);black.addItemListener(new ItemListener() {public void itemStateChanged(ItemEvent e) {write.setForeground(Color.black);}});color.add(black);JRadioButtonMenuItem red = new JRadioButtonMenuItem("red");red.addItemListener(new ItemListener() {public void itemStateChanged(ItemEvent e) {write.setForeground(Color.red);}});color.add(red);JRadioButtonMenuItem blue = new JRadioButtonMenuItem("blue");blue.addItemListener(new ItemListener() {public void itemStateChanged(ItemEvent e) {write.setForeground(Color.blue);}});color.add(blue);JRadioButtonMenuItem green = new JRadioButtonMenuItem("green");green.addItemListener(new ItemListener() {public void itemStateChanged(ItemEvent e) {write.setForeground(Color.green);}});color.add(green);bg.add(red);bg.add(green);bg.add(blue);bg.add(black);JMenuItem other = new JMenuItem("others...");other.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {JColorChooser jc = new JColorChooser(write.getForeground());Color be = write.getForeground();Color co = write.getForeground();co = jc.showDialog(null, "请选择颜色", co);if (co == null) {write.setForeground(be);} else {bg.clearSelection();write.setForeground(co);}}});color.add(other);JScrollPane text = new JScrollPane();scrollPane.setViewportView(text);write = new JTextArea();write.setFont(new Font("Arial", Font.PLAIN, 20));text.setViewportView(write);}public void CaretUpdate(CaretEvent e) {start = e.getDot();end = e.getMark();int temp = start;if (start > end) {start = end;end = temp;}}private void copy(){copyText = write.getSelectedText();}private void zhan(){if (copyText != null) {StringBuffer sb = new StringBuffer(write.getText().toString());String s1 = sb.substring(0, write.getSelectionStart());String s2 = sb.substring(write.getSelectionEnd());write.setText(s1);write.append(copyText);write.append(s2);}}private void delete(){if (write.getSelectedText() != null) {StringBuffer sb = new StringBuffer(write.getText().toString());String s1 = sb.substring(0, write.getSelectionStart());String s2 = sb.substring(write.getSelectionEnd());write.setText(s1);write.append(s2);}}private void find(){EventQueue.invokeLater(new Runnable() {public void run() {try {Find frame = new Find();frame.setVisible(true);} catch (Exception e) {e.printStackTrace();}}});}private void replace(){EventQueue.invokeLater(new Runnable() {public void run() {try {Replace frame = new Replace();frame.setVisible(true);} catch (Exception e) {e.printStackTrace();}}});}public static void main(String[] args) {EventQueue.invokeLater(new Runnable() {public void run() {try {Main frame = new Main();frame.setVisible(true);} catch (Exception e) {e.printStackTrace();}}});}class Find extends JFrame {   private JPanel contentPane;private JTextField textField;private boolean isDown;private int start;private int last;/*** Create the frame.*/public Find() {setResizable(false);setAlwaysOnTop(true);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);setBounds(100, 100, 650, 250);contentPane = new JPanel();contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));setContentPane(contentPane);contentPane.setLayout(null);ButtonGroup bg = new ButtonGroup();JRadioButton up = new JRadioButton("向上");up.setBounds(159, 99, 177, 29);contentPane.add(up);bg.add(up);JRadioButton down = new JRadioButton("向下");down.setSelected(true);isDown = true;down.setBounds(159, 137, 177, 29);contentPane.add(down);bg.add(down);textField = new JTextField();textField.setBounds(97, 45, 345, 27);contentPane.add(textField);textField.setColumns(10);down.addItemListener(new ItemListener() {@Overridepublic void itemStateChanged(ItemEvent e) {if (down.isSelected()) {isDown = true;} else {isDown = false;}}});JButton search = new JButton("查找");search.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {if (write.getSelectionStart() != 0 || write.getSelectionEnd() != 0) {start = write.getSelectionStart();last = write.getSelectionEnd();}if (isDown == true) {String text = textField.getText().toString();start = write.getText().toString().indexOf(text, last);if (start != -1) {write.setSelectionStart(start);write.setSelectionEnd(start + text.length());}}else{String text = textField.getText().toString();start = write.getText().toString().lastIndexOf(text,start-1);if (start != -1) {write.setSelectionStart(start);write.setSelectionEnd(start+text.length());}}}});search.setBounds(466, 44, 123, 29);contentPane.add(search);}}class Replace extends JFrame {private JPanel contentPane;private JTextField target;private JTextField retext;private boolean isDown;private int start;private int last;public Replace() {System.out.println("replace");setResizable(false);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);setBounds(100, 100, 650, 250);contentPane = new JPanel();contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));setContentPane(contentPane);contentPane.setLayout(null);isDown = true;JButton findNext = new JButton("查找下一个");findNext.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {if (write.getSelectionStart() != 0 || write.getSelectionEnd() != 0) {start = write.getSelectionStart();last = write.getSelectionEnd();}if (isDown == true) {String text = target.getText().toString();start = write.getText().toString().indexOf(text, last);if (start != -1) {write.setSelectionStart(start);write.setSelectionEnd(start + text.length());}}else{String text = target.getText().toString();start = write.getText().toString().lastIndexOf(text,start-1);if (start != -1) {write.setSelectionStart(start);write.setSelectionEnd(start+text.length());}}}});findNext.setBounds(441, 50, 123, 29);contentPane.add(findNext);JButton replace = new JButton("替换");replace.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {try{if (write.getSelectedText().toString().equals(target.getText().toString())) {System.out.println("pipei");StringBuffer sb = new StringBuffer(write.getText().toString());String s1 = sb.substring(0, write.getSelectionStart());String s2 = sb.substring(write.getSelectionEnd());write.setText(s1);write.append(retext.getText().toString());write.append(s2);}                       }catch (Exception sd) {}}});replace.setBounds(441, 109, 123, 29);contentPane.add(replace);target = new JTextField();target.setBounds(110, 51, 290, 27);contentPane.add(target);target.setColumns(10);JLabel li = new JLabel("目标文字");li.setBounds(14, 54, 81, 21);contentPane.add(li);JLabel li2 = new JLabel("替换文字");li2.setBounds(14, 113, 81, 21);contentPane.add(li2);retext = new JTextField();retext.setBounds(110, 110, 290, 27);contentPane.add(retext);retext.setColumns(10);ButtonGroup bg = new ButtonGroup();JRadioButton up = new JRadioButton("向上");up.setBounds(113, 170, 81, 29);contentPane.add(up);JRadioButton down = new JRadioButton("向下");down.setSelected(true);down.setBounds(219, 170, 88, 29);contentPane.add(down);bg.add(up);bg.add(down);down.addItemListener(new ItemListener() {@Overridepublic void itemStateChanged(ItemEvent e) {if (down.isSelected()) {isDown = true;}else{isDown = false;}}});JButton replaceall = new JButton("全部替换");replaceall.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {if (write.getSelectionStart() != 0 || write.getSelectionEnd() != 0) {start = write.getSelectionStart();last = write.getSelectionEnd();}try{if (write.getSelectedText().toString().equals(target.getText().toString())) {System.out.println("pipei");StringBuffer sb = new StringBuffer(write.getText().toString());String s1 = sb.substring(0, write.getSelectionStart());String s2 = sb.substring(write.getSelectionEnd());write.setText(s1);write.append(retext.getText().toString());write.append(s2);}                        }catch (Exception sd) {}while(start != -1){System.out.println("ahah");if (isDown == true) {String text = target.getText().toString();start = write.getText().toString().indexOf(text, last);if (start != -1) {write.setSelectionStart(start);write.setSelectionEnd(start + text.length());}}else{String text = target.getText().toString();start = write.getText().toString().lastIndexOf(text,start-1);if (start != -1) {write.setSelectionStart(start);write.setSelectionEnd(start+text.length());}}try{if (write.getSelectedText().toString().equals(target.getText().toString())) {System.out.println("pipei");StringBuffer sb = new StringBuffer(write.getText().toString());String s1 = sb.substring(0, write.getSelectionStart());String s2 = sb.substring(write.getSelectionEnd());write.setText(s1);write.append(retext.getText().toString());write.append(s2);}                     }catch (Exception sd) {}}}});replaceall.setBounds(441, 170, 123, 29);contentPane.add(replaceall);}}
    }

程序—java记事本相关推荐

  1. 编写运行最简单的java程序——使用记事本编写java程序

    编写运行最简单的java程序--使用记事本编写java程序 第一个java程序--使用记事本编辑 经过上篇文章的java环境搭建成功的小伙伴们可以在自己的计算机上编写属于自己的java程序了yo~ 还 ...

  2. JAVA记事本的图形用户界面应用程序含过滤

    JAVA记事本的图形用户界面应用程序 过滤 题目简介: 整体分析: 实验代码: package note;import java.awt.EventQueue; import java.awt.eve ...

  3. Java小程序之记事本

    这个记事本只做了个界面,里面的功能就做了三四个吧!特别适合新手学做GUI这一章. 我主要分了两大类,代码注释上面都有. 第一大类我主要把用到的所有组件全部定义了出来,这样看起来更方便一点 第二大类就是 ...

  4. java记事本实践意义,Java记事本程序课程设计报告

    Java记事本程序课程设计报告 课程设计课程设计报告书报告书 课程名称课程名称 面向对象课程设计面向对象课程设计 设计题目设计题目 记事本程序记事本程序 专业班级专业班级 学学 号号 姓姓 名名 目录 ...

  5. java记事本课程设计,java记事本课程设计

    java记事本课程设计 一. 设计内容和要求1. 设计一个具有 GUI 界面的记事本 含有简单的文字编辑功能 如 剪切.复制.粘贴.删除 还能实现保存.另存为.设置字体和颜色等功能.2. 本程 ...

  6. java记事本打开功能_Java简易实现记事本的打开与保存

    记事本的打开与保存 一些总结 * Swing中有时方法不显示,需要把方setVisible(true)放到最后执行 * AWT中的TextArea默认是中间布局 * fileDialog对话框Load ...

  7. java 记事本源代码_JAVA记事本源代码 收藏

    JAVA记事本源代码 import java.awt.*; import java.awt.event.*; import java.text.*; import java.util.*; impor ...

  8. java记事本简单,java简单完整记事本

    JAVA 程序设计实 验报告 院 系: 信息工程系 专 业: 计算机应用技术 班 级: 11 计算机 01 班 姓 名: Civen 任课教师: XXX 实验题目: JAVA 简单记事本...... ...

  9. 微信小程序之记事本管理系统(含源码+论文+答辩PPT等)

    项目功能简介: 该项目含有源码等资料.配套开发软件.软件安装教程.项目发布教程等 本系统包含微信小程序做的记事本前台和Java做的后台管理系统: 微信小程序--记事本前台涉及技术:WXML 和 WXS ...

最新文章

  1. PHP PDO 连接SQLSErver,PHP 使用 PDO 方式连接 sqlserver ,拼接 的 sql 命令总是报错
  2. shell脚本执行返回的状态码
  3. 基于python的搜索引擎论文_技术分享 - 基于python构建搜索引擎系列——(四)检索模型...
  4. java 顺序存储键值对_java://Comparator、Comparable的用法(按照要求将map集合的键值对进行顺序输出)...
  5. 不要假装努力,结果不会陪你演戏!
  6. Vue 路由懒加载
  7. 练习:查找指定目录(包括子目录)下的视频(格式为.mp4,.rmvb,.avi),并将目录存放在一个文件中...
  8. php连接打印机代码,PHP连接打印机
  9. LabView-之1: 串口驱动
  10. 邮件服务器的功能以及相关工作原理
  11. python分析掷骰子游戏
  12. vue实现下载excel模板、导入excel文件、导出excel文件
  13. linux连接一加手机,How To Build CyanogenMod Android (oneplus/bacon) On Linux
  14. 解决插件在IE增强保护模式下无法运行的问题
  15. 谈谈网络工程师的就业方向与薪资水平
  16. 各种数学平均数之间的关系
  17. Java实现Nginx图片上传
  18. 深圳地区近期面试100多道题汇总(含超详细答案)
  19. PHP安卓苹果APP在线封装打包制作源码 H5手机网站转APP 免签封装绿标
  20. 如何做一个优雅的Pod

热门文章

  1. MongoDB数据库操作
  2. 看懂 ,学会 .NET 事件的正确姿势-简单版
  3. Alpine Linux:从漏洞发现到代码执行
  4. 各个JSON技术的比较(Jackson,Gson,Fastjson)的对比
  5. js——window.open用法
  6. lucene Collector 文档收集器
  7. 【转载】Scarbee Pre-Bass 贝司的使用教程
  8. C#开源文件实时监控工具TailTailUI
  9. Linux救援模式实战
  10. 《Android开发从零开始》——26.数据存储(5)