Java を始めるのは思ったよりも簡単です。これまでのところ、Java の基本的な構文構造はすでに理解しています。しかし、どの言語を深く学ぶにも、時間と実践の積み重ねが必要であることは承知しています。
アプレットは、ブラウザ側で実行できる Java で記述されたコードです。アプリケーションとの明らかな違いは、その実行方法にあります。たとえば、C プログラムは main() プログラムから実行されますが、アプレットはそれがどれほど複雑であるか正確にはわかりませんが、徐々に理解していきます。アプレットに関する重要な特性は、HTML 内の値をパラメータとしてアプレットに渡すことができることです (この方法では、さまざまな効果を生み出すために、Java プログラムを再コンパイルする必要はありません)。ですが、HTML パラメーターの値を変更するだけです。 HTML コードも動的に生成できるため、Web ページの動的効果を自由に制御できます。
アプレットのライフサイクルには、init、start、stop の 3 つの主なメソッドがあります。
init(): アプレットの初期化を担当します。このメソッドは、アプレットのライフ サイクル全体で 1 回だけ実行されます。これは、Delphi の OnCreate() イベントと同じです。
システムが init() を呼び出した後、自動的に start() が呼び出され、現在のウィンドウが再アクティブ化されるたびに、このメソッドが呼び出されます。これは、Delphi の OnShow() イベントに似ています。
stop(): このメソッドは、ユーザーがアプレットのあるページを離れた後に呼び出されます。これにより、ユーザーがアプレットに注意を払っていないときに、システムの動作効率に影響を与えないように、一部のリソースの作業を停止できます。このメソッドは OnClose() と似ています。デルフィでの出来事。
以下は、HelloWorld のアプレット バージョンのファイル名です
。 HelloWorld.java
import java.applet.Applet;
インポート java.awt.Graphics
パブリック クラス HelloWorld アプレットを拡張します。
{
文字列タイトル。
パブリック void init(){
title="ハローワールド";
}
パブリックボイドペイント(グラフィックスg)
{
g.drawString(title, 50, 20);
アプレットはブラウザ環境で実行されるため、使用する必要がある関連タグは <
です
。
Applet> タグで、最初に HTML ファイル test.htm を作成します。ソース コードは次のとおりです
。
<本文>
最初のアプレットは次のとおりです。
<br>
<アプレット コード=HelloWorld.class 幅=650 高さ=500>
</アプレット>
</アプレット>
</body>
</html>
このファイルを HelloWorld.java と同じディレクトリに置き、HelloWorld.java をコンパイルし、test.htm をクリックして直接開くと、アプレット プログラムが起動していることがわかります。または、AppletViewer コマンド AppletViewer テストを使用します。 htm ブラウザを使用せずにアプレットを直接実行することもできます。
次のプログラムは、Java アプレットがそのライフ サイクルを通じて上で紹介したメソッドをどのように呼び出すかをよりよく理解するのに役立ちます。
ファイル名: StartStop.java
import java.awt.*;
import java.applet.*;
public クラス StartStop アプレットを拡張します。
{
文字列バッファメッセージ。
パブリック void init()
{
message=new StringBuffer("初期化が完了しました...");
}
public void start()
{
message.append("開始しました...");
パブリック
void stop()
{
message.append("停止しました...");
パブリック
void ペイント(グラフィックス g)
{
g.drawString(message.toString(), 150, 50);
}
}
操作方法は上記と同様です(このプログラムについては機械工業の<Java簡潔チュートリアル>を参照してください)
Javaを使うとC言語と違ってGUIの実装が簡単になります。 Java の AWT は純粋なオブジェクト指向言語であるため、Delphi のコンポーネントと同様に、呼び出すためのさまざまなインターフェイス要素を提供します。以下は、Java の GUI オブジェクトと Delphi の対応するコンポーネントの比較表です。
ジャワ デルフィ
ボタンTボタン
キャンバス Tキャンバス
チェックボックス Tチェックボックス
チェックボックスグループ TRadioGroup
選択肢 TComboBox
ラベル Tラベル
テキストフィールド TEdit
TextArea TMemo
ただし、JDK はビジュアルな RAD (Rapid Application Development) 開発ツールではなく、Delphi のようにドラッグして移動するだけでオブジェクトを使用できるわけではなく、呼び出しコードを記述する必要があります。要素が少ない場合は、要素をインターフェースに配置することができますが、要素が多い場合、または要素を要件に従って配置する必要がある場合は、アプリケーションでは、パネル (Panel) を使用する必要があります。パネルには、Delphi にも対応するコンポーネント (TPanel) がありますが、主にインターフェイスをセグメント化し、大まかなレイアウトを作成するために使用されます。 Java では、Panel を使用して位置を指定することしかできませんが、これがまだ学習していないのかもしれません。
開始したら、オブジェクトの概念を詳しく見ていきましょう。
Date というカスタム データ型が Java で次のように作成されたとします。
パブリック クラス Date{
日中。
int 月;
整数年。
それでは
、変数を宣言する次の 3 つのステートメントでは、Java がそれらにメモリを割り当てるときに違いはあるのでしょうか?
(1) int i;
(2) 生年月日。
(3) Date mybirth=new Date();
明らかに存在し、割り当ては次のようになります:
(1) Java は整数 i に整数変数のメモリを自動的に割り当てます (通常は 2 バイト
) (2) Java は Date クラスを宣言します。インスタンス変数 mybirth には記憶領域が割り当てられていますが、この記憶領域に格納されているのは参照、つまりアドレスだけなので、このインスタンス変数を使用したり、そのメンバーを参照したりすることはできません。
(3) Java は Date クラスのインスタンス変数 mybirth を作成し、そのメンバー変数に十分な記憶領域を割り当て、最後にこの記憶領域への参照を返します。つまり、この記憶領域の最初のアドレスを返し、 mybirth を渡します。つまり、この最初のアドレスは、このインスタンス変数の各メンバー (mybirth.day、mybirth.month、mybirth.year など) にアクセスするために使用されます。
基本データ型 (boolean、byte、short、char、int、long、 flat、double など) の変数を宣言すると、システムは自動的にその変数にメモリを割り当てます。しかし、文字列変数またはユーザー定義変数が宣言された場合、システムはそれらにすぐにメモリを割り当てません。これは、
文字列変数とユーザー定義変数の両方がクラスとして宣言されているためです。つまり、mybirth は、クラスのインスタンスへのポインタとみなすことができ、そこにアドレスが格納されます。
さらに詳しく言えば、クラスのインスタンス変数値はポインタであり、このポインタはクラスのインスタンスを指しているため、明らかに複数のクラスのインスタンス変数を異なる名前で定義し、それらすべてを 1 つのインスタンスを指すことができます。例:
University u=new University();//University クラスのインスタンス変数 u が定義され、オブジェクトの記憶領域がそれに割り当てられます。
University u2=u;//インスタンス変数 u2 も定義されます。 、 u の値が u2 に割り当てられると
、明らかに u2 と u は同じアドレスを指すため、実際には同じものです。
この点を明確にすることが依然として重要だと思います。これらのデータ構造は、プログラマが知っておく必要があるものです。