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


コメント