Java AWT (抽象ウィンドウ ツールキット) は グラフィカル ユーザー インターフェイス (GUI) または Windows ベースのアプリケーションを開発するための API ジャワでは。
Java AWT コンポーネントはプラットフォームに依存します。つまり、コンポーネントはオペレーティング システムのビューに従って表示されます。 AWT は重量が重い、つまり、そのコンポーネントは基礎となるオペレーティング システム (OS) のリソースを使用します。
java.awt パッケージ 提供します クラス TextField 、 Label 、 TextArea 、 RadioButton 、 CheckBox 、 Choice 、 List などの AWT API 用。
AWT チュートリアルは、ユーザーがシンプルで簡単な手順で Java GUI プログラミングを理解するのに役立ちます。
AWT がプラットフォームに依存しないのはなぜですか?
Java AWT は、TextField、ChechBox、ボタンなどの API コンポーネントを作成するためのネイティブ プラットフォーム (オペレーティング システム) サブルーチンを呼び出します。
たとえば、TextField、ラベル、ボタンなどのコンポーネントを含む AWT GUI は、Windows、MAC OS、Unix などのプラットフォームごとに外観と操作性が異なります。その理由は、プラットフォームがネイティブ コンポーネントに対して異なるビューを持っており、AWT がそれらのコンポーネントを作成するネイティブ サブルーチンを直接呼び出すためです。
簡単に言うと、AWT アプリケーションは Windows OS では Windows アプリケーションのように見えるのに対し、MAC OS では Mac アプリケーションのように見えます。
Java AWT階層
Java AWT クラスの階層を以下に示します。
コンポーネント
ボタン、テキストフィールド、スクロールバーなどのすべての要素はコンポーネントと呼ばれます。 Java AWTでは上図のようにコンポーネントごとにクラスが存在します。すべてのコンポーネントを画面上の特定の位置に配置するには、コンポーネントをコンテナに追加する必要があります。
容器
コンテナは、ボタン、テキストフィールド、ラベルなどの別のコンポーネントを含めることができる AWT のコンポーネントです。コンテナ クラスを拡張するクラスは、次のようなコンテナとして知られています。 フレーム、ダイアログ そして パネル 。
結合と結合の種類
これは基本的に、コンポーネントが特定の場所に配置される画面です。したがって、コンポーネントのレイアウトが含まれ、制御されます。
注: コンテナ自体はコンポーネントであるため (上の図を参照)、コンテナの中にコンテナを追加できます。
コンテナの種類:
Java AWT には 4 種類のコンテナがあります。
- 窓
- パネル
- フレーム
- ダイアログ
窓
ウィンドウは、境界線やメニュー バーのないコンテナです。ウィンドウを作成するには、フレーム、ダイアログ、または別のウィンドウを使用する必要があります。このコンテナを作成するには、Window クラスのインスタンスを作成する必要があります。
パネル
パネルは、タイトル バー、境界線、メニュー バーを含まないコンテナです。コンポーネントを保持するための汎用コンテナです。ボタンやテキストフィールドなどの他のコンポーネントを含めることができます。Panel クラスのインスタンスはコンテナを作成し、その中にコンポーネントを追加できます。
フレーム
フレームは、タイトル バーとボーダーを含むコンテナであり、メニュー バーを含めることができます。ボタン、テキストフィールド、スクロールバーなどの他のコンポーネントを含めることができます。フレームは、AWT アプリケーションの開発中に最も広く使用されるコンテナです。
コンポーネントクラスの便利なメソッド
方法 | 説明 |
---|---|
public void add(コンポーネント c) | このコンポーネントにコンポーネントを挿入します。 |
public void setSize(int width,int height) | コンポーネントのサイズ (幅と高さ) を設定します。 |
public void setLayout(LayoutManager m) | コンポーネントのレイアウトマネージャーを定義します。 |
public void setVisible(boolean status) | コンポーネントの可視性を変更します (デフォルトでは false)。 |
Java AWT の例
単純な AWT サンプルを作成するには、フレームが必要です。 AWT で Frame を使用して GUI を作成するには 2 つの方法があります。
- Frame クラスを拡張することで ( 継承 )
- Frameクラスのオブジェクトを作成することで( 協会 )
継承による AWT の例
Frame クラスを継承する AWT の簡単な例を見てみましょう。ここでは、フレーム上に Button コンポーネントを表示しています。
AWTExample1.java
// importing Java AWT class import java.awt.*; // extending Frame class to our class AWTExample1 public class AWTExample1 extends Frame { // initializing using constructor AWTExample1() { // creating a button Button b = new Button('Click Me!!'); // setting button position on screen b.setBounds(30,100,80,30); // adding button into frame add(b); // frame size 300 width and 300 height setSize(300,300); // setting the title of Frame setTitle('This is our basic AWT example'); // no layout manager setLayout(null); // now frame will be visible, by default it is not visible setVisible(true); } // main method public static void main(String args[]) { // creating instance of Frame class AWTExample1 f = new AWTExample1(); } }この例をダウンロードする
上記の例では、awt ボタンの位置を設定する setBounds(int x-axis, int y-axis, int width, int height) メソッドが使用されています。
出力:
協会別の AWT の例
Frame クラスのインスタンスを作成する AWT の簡単な例を見てみましょう。ここでは、フレーム上に TextField、Label、および Button コンポーネントを作成しています。
プリティジンタ
AWTExample2.java
// importing Java AWT class import java.awt.*; // class AWTExample2 directly creates instance of Frame class class AWTExample2 { // initializing using constructor AWTExample2() { // creating a Frame Frame f = new Frame(); // creating a Label Label l = new Label('Employee id:'); // creating a Button Button b = new Button('Submit'); // creating a TextField TextField t = new TextField(); // setting position of above components in the frame l.setBounds(20, 80, 80, 30); t.setBounds(20, 100, 80, 30); b.setBounds(100, 100, 80, 30); // adding components into frame f.add(b); f.add(l); f.add(t); // frame size 300 width and 300 height f.setSize(400,300); // setting the title of frame f.setTitle('Employee info'); // no layout f.setLayout(null); // setting visibility of frame f.setVisible(true); } // main method public static void main(String args[]) { // creating instance of Frame class AWTExample2 awt_obj = new AWTExample2(); } }この例をダウンロードする
出力: