五柳速记(Wuliu-STN)约 100 行代码的快速笔记程序

4 天前
 SuperMild

主要功能

两个优点

  1. 极低心智负担,每次操作就是打开一个文本框,输入内容,点击 OK 。没有别的操作了。
  2. 代码量超少,约 100 行,而且全是很简单很直白的代码,阅读和修改都很轻松。

不使用 Maven/Gradle, 只使用 javac

一部分代码

下面是主界面 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, 汇总一些函数, 以便让主程序看起来简洁。 反正就是代码很少,功能也很简单,但很实用。

我之前下载过几个主打“简单”的笔记工具(自己也做过几个),但用了一段时间还是觉得不够简单, 因此这次尝试更彻底一点,大做减法,追求更极致的简单。

933 次点击
所在节点    分享创造
3 条回复
OWLS
3 天前
不要一日一个文件,更喜欢全部都在一个文件。
SuperMild
3 天前
@OWLS 这个很容易改,每个人可以按自己喜欢,按月也行,按年也行,直接修改代码就行。我原本也打算后续加一个功能,允许随时按月合并、按年合并。
OWLS
3 天前
@SuperMild 很好。支持!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1102511

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX