- 约 100 行 Java 代码,只使用 Java 标准库,完全没有第三方代码。
- 开发时也不使用 Maven, Gradle 之类,只使用
javac
- 有一个简单的 GUI 窗口。
- 代码极致简单,不可能更简单了。
主要功能
两个优点
- 极低心智负担,每次操作就是打开一个文本框,输入内容,点击 OK 。没有别的操作了。
- 代码量超少,约 100 行,而且全是很简单很直白的代码,阅读和修改都很轻松。
不使用 Maven/Gradle, 只使用 javac
- 全部代码才 11KB, 就算加上 README 之类的文件整个项目不压缩也只有 30KB
- 只使用 Java 标准库,完全没有第三方代码,修改代码后只需要使用
javac
编译即可,相关的命令我也提供了,具体请看项目 README 。
一部分代码
下面是主界面 class Main 的全部代码:
public class Main implements Runnable {
private ScrollArea scrollArea;
public static void main(String[] args) {
MyUtil.checkProjectExists();
SwingUtilities.invokeLater(new Main());
}
public void run() {
// 主窗口
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 程序标题
JPanel mainPanel = new JPanel();
JLabel labelTitle = new JLabel("Wuliu Simple Text Note");
mainPanel.add(labelTitle);
// 文本框
scrollArea = new ScrollArea();
mainPanel.add(scrollArea.scrollPane());
JLabel spacer = new JLabel(" ".repeat(150));
mainPanel.add(spacer);
// 提交按钮
JButton okButton = new JButton("OK");
okButton.addActionListener(new OkButtonListener());
mainPanel.add(okButton);
frame.add(BorderLayout.CENTER, mainPanel);
frame.setSize(500, 400);
frame.setLocationRelativeTo(null); // 窗口居中
frame.setVisible(true);
}
// 按钮触发事件:获取文本框内容,生成文件 或 向文件添加内容
class OkButtonListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
String text = scrollArea.textArea().getText().trim();
try {
MyUtil.createNoteToday(text);
} catch (IOException ex) {
System.err.println("ERROR! ERROR!");
throw new RuntimeException(ex);
}
System.exit(0);
}
}
}
以上就是主程序的全部代码,另外还有两个文件,比如 MyUtil.java, 汇总一些函数,
以便让主程序看起来简洁。 反正就是代码很少,功能也很简单,但很实用。
我之前下载过几个主打“简单”的笔记工具(自己也做过几个),但用了一段时间还是觉得不够简单,
因此这次尝试更彻底一点,大做减法,追求更极致的简单。
|