久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

java怎么編寫記事本程序

154次閱讀
沒有評論

共計 2531 個字符,預(yù)計需要花費 7 分鐘才能閱讀完成。

要編寫一個簡單的記事本程序,你可以使用 Java GUI 庫(如 Swing 或 JavaFX)來創(chuàng)建用戶界面,并使用 Java 文件 IO 操作來讀取和寫入文本文件。

下面是一個使用 Swing 庫來創(chuàng)建一個簡單記事本程序的例子:

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 來顯示文本內(nèi)容。通過菜單欄提供了新建、打開、保存和退出等功能。用戶可以通過菜單欄的打開和保存選項來選擇文件進(jìn)行讀寫操作。

以上代碼只是一個簡單的記事本示例,你可以根據(jù)自己的需求添加更多的功能和樣式。

丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-12-09發(fā)表,共計2531字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 清水河县| 扶沟县| 什邡市| 巴中市| 宿松县| 大城县| 吉木萨尔县| 新野县| 泰宁县| 罗源县| 焉耆| 辽阳市| 澜沧| 新化县| 长海县| 香港 | 南汇区| 蓬安县| 溧阳市| 清涧县| 晋江市| 恩施市| 隆回县| 鄂温| 康平县| 洞头县| 岑溪市| 米脂县| 蓝田县| 葵青区| 阿克| 中西区| 通州市| 乌兰察布市| 黑水县| 武隆县| 阳东县| 洞头县| 吉木萨尔县| 安龙县| 太康县|