java怎么编写记事本程序

avatar
作者
筋斗云
阅读量:0

要编写一个简单的记事本程序,你可以使用Java GUI库(如Swing或JavaFX)来创建用户界面,并使用Java文件IO操作来读取和写入文本文件。

下面是一个使用Swing库来创建一个简单记事本程序的例子:

import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.*;  public class Notepad extends JFrame {      private JTextArea textArea;     private JFileChooser fileChooser;      public Notepad() {         super("记事本");         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);         setSize(800, 600);          textArea = new JTextArea();         JScrollPane scrollPane = new JScrollPane(textArea);         add(scrollPane, BorderLayout.CENTER);          fileChooser = new JFileChooser();          JMenuBar menuBar = new JMenuBar();         JMenu fileMenu = new JMenu("文件");         JMenuItem newMenuItem = new JMenuItem("新建");         JMenuItem openMenuItem = new JMenuItem("打开");         JMenuItem saveMenuItem = new JMenuItem("保存");         JMenuItem exitMenuItem = new JMenuItem("退出");          newMenuItem.addActionListener(new NewActionListener());         openMenuItem.addActionListener(new OpenActionListener());         saveMenuItem.addActionListener(new SaveActionListener());         exitMenuItem.addActionListener(new ExitActionListener());          fileMenu.add(newMenuItem);         fileMenu.add(openMenuItem);         fileMenu.add(saveMenuItem);         fileMenu.add(exitMenuItem);          menuBar.add(fileMenu);         setJMenuBar(menuBar);     }      private class NewActionListener implements ActionListener {         @Override         public void actionPerformed(ActionEvent e) {             textArea.setText("");         }     }      private class OpenActionListener implements ActionListener {         @Override         public void actionPerformed(ActionEvent e) {             int returnVal = fileChooser.showOpenDialog(Notepad.this);             if (returnVal == JFileChooser.APPROVE_OPTION) {                 File file = fileChooser.getSelectedFile();                 try {                     BufferedReader reader = new BufferedReader(new FileReader(file));                     StringBuilder sb = new StringBuilder();                     String line;                     while ((line = reader.readLine()) != null) {                         sb.append(line).append("\n");                     }                     reader.close();                     textArea.setText(sb.toString());                 } catch (IOException ex) {                     ex.printStackTrace();                 }             }         }     }      private class SaveActionListener implements ActionListener {         @Override         public void actionPerformed(ActionEvent e) {             int returnVal = fileChooser.showSaveDialog(Notepad.this);             if (returnVal == JFileChooser.APPROVE_OPTION) {                 File file = fileChooser.getSelectedFile();                 try {                     BufferedWriter writer = new BufferedWriter(new FileWriter(file));                     writer.write(textArea.getText());                     writer.close();                 } catch (IOException ex) {                     ex.printStackTrace();                 }             }         }     }      private class ExitActionListener implements ActionListener {         @Override         public void actionPerformed(ActionEvent e) {             System.exit(0);         }     }      public static void main(String[] args) {         SwingUtilities.invokeLater(() -> {             Notepad notepad = new Notepad();             notepad.setVisible(true);         });     } } 

这个记事本程序使用JFrame作为程序窗口,并在窗口中添加了一个JTextArea来显示文本内容。通过菜单栏提供了新建、打开、保存和退出等功能。用户可以通过菜单栏的打开和保存选项来选择文件进行读写操作。

以上代码只是一个简单的记事本示例,你可以根据自己的需求添加更多的功能和样式。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!