Java AWT(Abstract Window Toolkit)は、Javaの標準ライブラリに含まれるGUI(グラフィカルユーザーインターフェース)ツールキットです。AWTを使うと、ボタンやテキストフィールドなどの基本的なGUIコンポーネントを用いて、シンプルなデスクトップアプリケーションを作成できます。
この記事では、初心者向けにJava AWTを使ったプログラミングの基本を解説します。
1. AWTの特徴
AWTはJavaの初期バージョンから存在するGUIフレームワークで、以下の特徴があります:
- プラットフォーム依存のGUI
AWTコンポーネントは、使用しているOSのネイティブGUIを利用します。これにより、アプリケーションがプラットフォームに適した外観になります。 - 軽量な設計
SwingやJavaFXと比べると、機能は限定的ですが、軽量で簡単なアプリケーションに適しています。 - シンプルな構造
初心者がGUIプログラミングを学ぶ入り口として適しています。
2. AWTを使った基本プログラム
2-1. ウィンドウを表示する
以下は、AWTを使って基本的なウィンドウを作成する例です。
1 |
import java.awt.*;<br><br>public class SimpleAWT {<br> public static void main(String[] args) {<br> // Frameを作成<br> Frame frame = new Frame("AWTの基本例");<br><br> // ウィンドウのサイズを設定<br> frame.setSize(400, 300);<br><br> // ウィンドウを閉じる処理<br> frame.addWindowListener(new java.awt.event.WindowAdapter() {<br> public void windowClosing(java.awt.event.WindowEvent windowEvent) {<br> System.exit(0);<br> }<br> });<br><br> // ウィンドウを表示<br> frame.setVisible(true);<br> }<br>}<br> |
2-2. ボタンの追加
ウィンドウにボタンを追加し、ボタンがクリックされたときにメッセージを表示するプログラムを作ります。
1 |
import java.awt.*;<br>import java.awt.event.ActionEvent;<br>import java.awt.event.ActionListener;<br><br>public class ButtonExample {<br> public static void main(String[] args) {<br> Frame frame = new Frame("ボタンの例");<br><br> // ボタンを作成<br> Button button = new Button("クリックしてください");<br> button.setBounds(100, 100, 200, 50);<br><br> // ボタンのクリックイベント<br> button.addActionListener(new ActionListener() {<br> @Override<br> public void actionPerformed(ActionEvent e) {<br> System.out.println("ボタンがクリックされました!");<br> }<br> });<br><br> // Frameにボタンを追加<br> frame.add(button);<br> frame.setSize(400, 300);<br> frame.setLayout(null);<br> frame.setVisible(true);<br><br> // ウィンドウを閉じる処理<br> frame.addWindowListener(new java.awt.event.WindowAdapter() {<br> public void windowClosing(java.awt.event.WindowEvent windowEvent) {<br> System.exit(0);<br> }<br> });<br> }<br>}<br> |
3. テキストフィールドとラベルの使用
以下は、テキストフィールドに入力された内容をラベルに表示する例です。
1 |
import java.awt.*;<br>import java.awt.event.ActionEvent;<br>import java.awt.event.ActionListener;<br><br>public class TextFieldExample {<br> public static void main(String[] args) {<br> Frame frame = new Frame("テキストフィールドの例");<br><br> // ラベルを作成<br> Label label = new Label("ここに入力内容が表示されます");<br> label.setBounds(50, 150, 300, 30);<br><br> // テキストフィールドを作成<br> TextField textField = new TextField();<br> textField.setBounds(50, 100, 300, 30);<br><br> // ボタンを作成<br> Button button = new Button("表示");<br> button.setBounds(150, 200, 100, 30);<br><br> // ボタンのクリックイベント<br> button.addActionListener(new ActionListener() {<br> @Override<br> public void actionPerformed(ActionEvent e) {<br> String text = textField.getText();<br> label.setText("入力されたテキスト: " + text);<br> }<br> });<br><br> // コンポーネントをフレームに追加<br> frame.add(label);<br> frame.add(textField);<br> frame.add(button);<br><br> frame.setSize(400, 300);<br> frame.setLayout(null);<br> frame.setVisible(true);<br><br> // ウィンドウを閉じる処理<br> frame.addWindowListener(new java.awt.event.WindowAdapter() {<br> public void windowClosing(java.awt.event.WindowEvent windowEvent) {<br> System.exit(0);<br> }<br> });<br> }<br>}<br> |
4. AWTとSwingの違い
特徴 | AWT | Swing |
---|---|---|
プラットフォーム | OSのネイティブコンポーネントを使用 | Java独自の軽量コンポーネントを使用 |
見た目 | OSに依存 | 一貫性があり、カスタマイズが可能 |
パフォーマンス | 軽量で高速 | AWTよりもやや重い |
拡張性 | 限定的 | 高い拡張性を持つ |
5. さらなる学びとサポート
Java AWTの基礎を理解したら、さらに深い学びに挑戦しましょう。
- 初心者の方へおすすめ:「絶対にJavaプログラマーになりたい人へ」は、Javaの基礎から実践までを体系的に学べるリソースです。
- 実践的な支援が必要なら:「サイゼントアカデミー」では、プログラミングのレビューや転職サポートを提供しています。
まとめ
Java AWTは、シンプルなGUIアプリケーションを作成するための最適なツールです。基本的なコンポーネントやイベント処理を学びながら、実際にアプリケーションを作成してみましょう。
AWTを使いこなすことで、JavaのGUIプログラミングの基礎が身につき、SwingやJavaFXへのスムーズな移行も可能になります。まずは小さなプロジェクトから始めて、Javaの可能性を広げてみてください!
コメント