我相信很多 Java 新手都会遇到这样一个问题:跟着教材敲代码,很容易;但是让他完整的实现一个应用项目,却不会;不知道从哪里开始,不知道实现一个项目的完整流程是怎样的,看似很简单的一个问题,但却实实在在难住了很多 Java 新手。
正是基于此,这篇文章就教你实现一个项目的完整流程,教你如何开发项目。当然要介绍开发的完整流程,就免不了需要实现一个项目,这里就用 Java 实现一个简单的记事本,借助实现记事本来教你开发的完整流程。
文章主要讲解如何使用 Java 语言编写一个可视化的记事本应用,涉及到 Swing 界面编程、文件读写等知识点。
实验原理
可视化记事本的开发思路需要考虑的是:首先,制作记事本的可视化界面,用于记事本的编辑;其次,记事本文件的操作如打开、关闭、保存;最后,记事本文件内容的读写涉及 IO 操作。
实验步骤
1 开发环境介绍
在 Java 项目实际开发中,我们可选择的开发工具有很多,有记事本、EditPlus、MyEclipse、Eclipse 等等,这里不再一一例举。本实验将使用 Eclipse 作为主要的开发软件。
在使用 Eclipse 之前,先简单介绍一下这个开发环境。
Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Kit,JDK)。
初步了解 Eclipse 后,就可以开始实验了。
2 创建 Java 项目
双击打开桌面上的 Eclipse,启动时弹出的 workspace(工作目录)对话框直接使用默认值,确认即可。
然后按照下面的步骤来创建一个 Java 项目。
(1)选择菜单栏中的 File -> New -> Other:
(2)在弹出的对话框中,项目类型请选择 Java Project。
(3)在新 Java 项目创建对话框中,将项目命名为 FileEditor 然后点击 Finish 按钮。
(4)如果出现下面这样的对话框,请直接点击 Yes 按钮即可。
至此,项目就已经创建成功。
3 新建包和类
接下来,我们在项目的 src 文件夹下,创建一个名为 com.example.fileeditor 的包:
(1)右键点击 src 文件夹,在右键菜单中选择 New -> Package。
(2)弹出的对话框中,Name 一栏填写:com.example.fileeditor,最后点击 Finish 按钮。
(3)再在同一个包内,创建一个名为 FileEditor 的 Class 文件: 右键点击包,在右键菜单中选择 New->Class。
(4)弹出的对话框中,Name 一栏填写:FileEditor,最后点击 Finish 按钮。
完成这一步后的项目结构如下图:
至此,项目所需的包和源文件就已经创建完成。
4 实现各功能模块
接着我们就在刚创建好的文件中编写所需的 Java 代码。
在这个过程中,实现哪个功能不是最重要的目的,建议多看代码之后的注释,以深入理解这些功能是怎样实现的。
请双击打开 FileEditor.java 文件,输入实现记事本功能的代码。
以下是完整的代码示例:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class FileEditor extends JFrame {
private JTextArea textArea;
private JFileChooser fileChooser;
public FileEditor {
();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(, );
setLocationRelativeTo();
textArea = ();
(textArea);
add(scrollPane, BorderLayout.CENTER);
();
();
();
openItem.addActionListener(e -> openFile());
fileMenu.add(openItem);
();
saveItem.addActionListener(e -> saveFile());
fileMenu.add(saveItem);
menuBar.add(fileMenu);
setJMenuBar(menuBar);
setVisible();
}
{
fileChooser = ();
fileChooser.showOpenDialog();
(result == JFileChooser.APPROVE_OPTION) {
{
( (fileChooser.getSelectedFile()));
();
String line;
((line = reader.readLine()) != ) {
content.append(line).append();
}
reader.close();
textArea.setText(content.toString());
} (IOException e) {
JOptionPane.showMessageDialog(, + e.getMessage());
}
}
}
{
fileChooser = ();
fileChooser.showSaveDialog();
(result == JFileChooser.APPROVE_OPTION) {
{
( (fileChooser.getSelectedFile()));
writer.write(textArea.getText());
writer.close();
JOptionPane.showMessageDialog(, );
} (IOException e) {
JOptionPane.showMessageDialog(, + e.getMessage());
}
}
}
{
SwingUtilities.invokeLater(() -> ());
}
}


