【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(削除):選んだ項目を削除

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

JFrame(全体)
├── JPanel(上部)
│   ├── JTextField(入力)
│   └── JButton(追加)
├── JScrollPane
│   └── JList(ToDo表示)
└── JButton(削除)

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

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

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

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

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

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


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

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

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(上記コード)

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

javac ToDoApp.java
java ToDoApp

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


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

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

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

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