JAva GUIインタフェースの初歩的な入門例【AWTパッケージ】

4321 ワード

この例ではjava GUIインタフェースについて説明します.皆さんの参考にしてください.具体的には以下の通りです.
Javaはグラフィックインタフェースがあまり得意ではありません.
AWTは古いパッケージで、最新はSwingパッケージで、一部のオペレーティングシステムのコンテンツが呼び出されているため、完全なプラットフォーム間ではできません.
各グラフィック要素はcontainerを含むcomponentクラスであり、containerはcomponentであり、componentのコンテナクラスとしてcomponentを保存することもできます.containerにはwindowとpanelの2種類があり、そのうちwindowクラスは独立しており、直接表示できるが、panelクラスは独立せず、直接表示できず、windowクラスに依存して表示しなければならない.Windowsの下にはFrameとDialogがあり、panelの下にはappletがあり、ここでFrameはウィンドウであり、Dialogはダイアログボックスであり、ダイアログボックスに対して処理しなければならないものと処理しなければならないものの2種類があります.
いくつかのFrame/Panelインスタンス
instance1:
基本的な要素をいくつか追加します.構築方法1:Frameオブジェクトを作成します.

import java.awt.*;
public class TestGui {
    public static void main(String[] args) {
        Frame f = new Frame("My Frame") ;
        f.setBounds(30, 30, 300, 300);
        f.setBackground(Color.blue);
        f.setResizable(true);
        f.setVisible(true);
    }
}


注意:メソッドでは、locationを使用してグラフィックの位置を設定し、sizeを使用してグラフィックのサイズを設定します.boundsを使用すると、その位置とサイズを直接設定できます.
instance2:
構築方法2では、Frameを継承する新しいクラスを作成します.

import java.awt.Color;
import java.awt.Frame;
public class TestFrame2 {
    public static void main(String[] args) throws Exception{
        new MyFrame1(100,100,200,200,Color.BLUE);
        new MyFrame1(100,300,200,200,Color.CYAN);
        new MyFrame1(300,100,200,200,Color.gray);
        new MyFrame1(300,300,200,200,Color.MAGENTA);
    }
}
class MyFrame1 extends Frame{
    static int d = 0;
    MyFrame1(int x,int y,int w,int z,Color c){
        super("MyFrame " + ++d);
//        setTitle("MyFrame " + ++d);
        setBounds(x,y,w,z);
        setBackground(c);
        setResizable(true);
        setVisible(true);
    }
}


注意:名前を指定せずにnewオブジェクトを直接newできます.これにより、メモリにスペースがありますが、名前呼び出しはありません.
MyFrameについては、Frameから継承してその構造方法でグラフィックに名前を付けることもできますが、settitleメソッドを使用することもできますが、super()を使用する場合は変数が静的であることが必要です.(??)
Panel:
instance 3:

import java.awt.*;
public class TestPanel {
    public static void main(String[] args) {
        Frame f1 = new Frame("MyFrame 1");
        Panel p1 = new Panel();
        f1.setBounds(300, 300, 600, 600);
        f1.setBackground(Color.blue);
        f1.setLayout(null);
        p1.setBounds(100, 100, 200, 200);
        p1.setBackground(Color.DARK_GRAY);
        f1.add(p1);
        f1.setResizable(true);
        p1.setVisible(true);
        f1.setVisible(true);
    }
}


注意:panelの場合、独立して表示できないため、Windowsクラスに追加して表示する必要があります.
Windowsクラスと同様に、setVisibleメソッドを呼び出す必要があります.また,ここでsetLayoutパラメータはnullであり,対応するwindowをドラッグする場合,その内部のpanelは変わらない.
instance 4:

import java.awt.*;
public class TestPanel2 {
    public static void main(String[] args) {
        new MyFrame4("MyFrame H",300,300,400,400);
    }
}
class MyFrame4 extends Frame{
//    private Penal p1,p2,p3,p4; 
    MyFrame4(String s, int x,int y,int w,int h){
        super(s);
        setBounds(x,y,w,h);
        setBackground(Color.BLUE);
        setLayout(null);
        setResizable(true);
        setVisible(true);
        Panel p1 = new Panel(null); Panel p2 = new Panel(null);
        Panel p3 = new Panel(null); Panel p4 = new Panel(null);
        p1.setBounds(0, 0, w/2, h/2); p3.setBounds(w/2, 0, w/2, h/2);
        p2.setBounds(0, h/2, w/2, h/2); p4.setBounds(w/2, h/2,w/2, h/2);
        add(p1); add(p2); add(p3); add(p4);
        p1.setBackground(Color.CYAN);
        p2.setBackground(Color.GRAY);
        p3.setBackground(Color.GREEN);
        p4.setBackground(Color.RED);
        p1.setVisible(true);
        p2.setVisible(true);
        p3.setVisible(true);
        p4.setVisible(true);
    }
}


Javaアルゴリズムに関する詳細に興味のある方は、「Javaデータ構造とアルゴリズムチュートリアル」、「Java操作DOMノードテクニックまとめ」、「Javaファイルとディレクトリ操作テクニックまとめ」、「Javaキャッシュ操作テクニックまとめ」のトピックを参照してください.
本文で述べたjavaプログラム設計に役立つことを願っています.