「Javaを学び始めたけど、実用的なアプリを作るのが難しい」
「一覧で管理できるツールを作ってみたいけど、何から始めればよいかわからない」
そんな悩みをお持ちの方にぴったりなのが、ToDoリストアプリの作成です。
本記事では、Javaで簡単にToDoリストを作る方法をGUI付きで丁寧に解説します。
Swingライブラリを使って画面を作り、入力・削除・一覧表示ができるアプリを完成させます。
誰でも作れる構成とコード付きの解説で、Java初学者が最初の実用アプリを作る手助けをします!
JavaでToDoリストを作る理由
なぜToDoリストが学習に適しているのか?
結論:入力・保存・表示・削除といった基本操作がすべて学べるからです。
Javaを勉強し始めた方にとって、どのようなアプリを作るか悩むことが多いです。
ToDoリストは以下の点で初心者にぴったりです。
- 入力フォームからデータを受け取る方法が学べる
- リスト表示で配列やリストの扱いが理解できる
- 削除や完了処理でイベント処理に慣れることができる
- 簡単なGUIでも実用的なものを作れる
このようにToDoリストはJavaの基礎を自然に学べる絶好の教材なのです。
GUIアプリに必要な構成とは?
Swingを使ったシンプルな設計図
結論:テキスト入力欄、追加ボタン、リスト表示、削除ボタンがあればOKです。
ToDoリストアプリの構成要素は次の通りです。
JTextField
:やることを入力JButton(追加)
:リストに追加JList
orDefaultListModel
:リスト表示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
を使う動的なリスト管理 - 実用的なアプリを作る手順と構造