【Java入門】ToDoリストの作り方完全ガイド|GUIで簡単タスク管理アプリを開発

プログラミング

「Javaを学び始めたけど、実用的なアプリを作るのが難しい」
「一覧で管理できるツールを作ってみたいけど、何から始めればよいかわからない」
そんな悩みをお持ちの方にぴったりなのが、ToDoリストアプリの作成です。

本記事では、Javaで簡単にToDoリストを作る方法をGUI付きで丁寧に解説します。
Swingライブラリを使って画面を作り、入力・削除・一覧表示ができるアプリを完成させます。

誰でも作れる構成とコード付きの解説で、Java初学者が最初の実用アプリを作る手助けをします!


JavaでToDoリストを作る理由

なぜToDoリストが学習に適しているのか?

結論:入力・保存・表示・削除といった基本操作がすべて学べるからです。

Javaを勉強し始めた方にとって、どのようなアプリを作るか悩むことが多いです。
ToDoリストは以下の点で初心者にぴったりです。

  • 入力フォームからデータを受け取る方法が学べる
  • リスト表示で配列やリストの扱いが理解できる
  • 削除や完了処理でイベント処理に慣れることができる
  • 簡単なGUIでも実用的なものを作れる

このようにToDoリストはJavaの基礎を自然に学べる絶好の教材なのです。


GUIアプリに必要な構成とは?

Swingを使ったシンプルな設計図

結論:テキスト入力欄、追加ボタン、リスト表示、削除ボタンがあればOKです。

ToDoリストアプリの構成要素は次の通りです。

  • JTextField:やることを入力
  • JButton(追加):リストに追加
  • JList or DefaultListModel:リスト表示
  • JButton(削除):選んだ項目を削除

構成イメージは以下のようになります。

1
2
3
4
5
6
7
JFrame(全体)
├── JPanel(上部)
│   ├── JTextField(入力)
│   └── JButton(追加)
├── JScrollPane
│   └── JList(ToDo表示)
└── JButton(削除)

ToDoリストアプリの基本機能

入力→追加→削除までの流れ

結論:ボタンとイベントリスナーを使って、動的にリストを更新します。

ユーザーが行う操作と処理の関係:

  • 入力 → JTextField.getText() で取得
  • ボタン押下 → ActionListener でイベント処理
  • リスト追加 → DefaultListModel.addElement()
  • リスト削除 → model.remove(index)

この流れが分かると、どんなGUIアプリにも応用が利くようになります。


JavaでToDoリストを実装するコード

コピペで動くGUI付きの完成コード

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
 
public class ToDoApp extends JFrame implements ActionListener {
    private DefaultListModel<String> model;
    private JList<String> list;
    private JTextField input;
    private JButton addBtn, deleteBtn;
 
    public ToDoApp() {
        setTitle("ToDoリスト");
        setSize(400, 300);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setLayout(new BorderLayout());
 
        input = new JTextField(20);
        addBtn = new JButton("追加");
        deleteBtn = new JButton("削除");
 
        addBtn.addActionListener(this);
        deleteBtn.addActionListener(this);
 
        JPanel topPanel = new JPanel();
        topPanel.add(input);
        topPanel.add(addBtn);
 
        model = new DefaultListModel<>();
        list = new JList<>(model);
        JScrollPane scrollPane = new JScrollPane(list);
 
        add(topPanel, BorderLayout.NORTH);
        add(scrollPane, BorderLayout.CENTER);
        add(deleteBtn, BorderLayout.SOUTH);
 
        setVisible(true);
    }
 
    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == addBtn) {
            String task = input.getText().trim();
            if (!task.isEmpty()) {
                model.addElement(task);
                input.setText("");
            }
        } else if (e.getSource() == deleteBtn) {
            int index = list.getSelectedIndex();
            if (index != -1) {
                model.remove(index);
            }
        }
    }
 
    public static void main(String[] args) {
        new ToDoApp();
    }
}

ファイル構成と実行手順

必要なファイルと準備

  • ToDoApp.java(上記コード)

実行方法は以下の通りです。

1
2
javac ToDoApp.java
java ToDoApp

Javaがインストールされていれば、すぐに実行可能です。


まとめ:ToDoリスト開発で得られる力

この記事で学べたことは次の通りです:

  • JavaのGUI設計(Swingの使い方)
  • イベント処理(ActionListener)
  • 配列ではなくDefaultListModelを使う動的なリスト管理
  • 実用的なアプリを作る手順と構造

タイトルとURLをコピーしました