共計 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ì)的資源集合!
正文完