純粋な Java 言語で実装されたグラフィカル プロジェクト - Lemon (美しいソーシャル チャット パーソナライゼーション アプレット)

Xiaochat:この記事では、初期に作成された最初の Java プロジェクト、組み込みの JFrame を使用して純粋な Java で作成されたグラフィカル プロジェクトを紹介します。. . ああ、本当に懐かしいです。何でもありません。Java を学んでいたときの気持ちを記録したいだけです。えっと、ナンセンスなことを言わないでください。Javaの基礎を学び終えたばかりのときに書いたもので、技術的な内容は何もないので、笑って思い出しただけです。プロジェクトは github にアップされており、興味のある人はプログラミングレポートを添付して自分で手に取ることができます。また、私の注釈は非常に詳細であり、その時点でその認識がありました。
githubアドレス:「レモン」


1. プロジェクト紹介

  • 項目名

レモン

  • プロジェクトの詳細

これは、Web バージョンの QQ グラフィカル インターフェイスをシミュレートする多人数チャット プログラムです. 以下にプレビューを示します。

  • プロジェクト機能

アカウントパスワードログイン、個人情報の表示・変更、多人数オンラインチャット。

  • プロジェクトの主な技術内容(Java Foundation)

マルチスレッド、IO ストリームファイル操作、TCP プロトコルに基づくネットワーク転送、Swing GUI (Java 付属)

  • プロジェクト開発環境

日食、windows10。
ああ、私は最初に日食を使いました。誰もが知っています。Eclipse プロジェクトの構造はアイデアの構造とは異なるため、実際には、Eclipse のバージョン間のプロジェクト構造も異なり、以前のデフォルトのエンコーディングは GDK (アイデアは UTF-8) であり、現在はデフォルト2022年版のeclipeのエンコーディングはUTF-8のようです。ダウンロードしたいのに実行に問題がある場合は、新しいプロジェクトを作成し、コンテンツを自分のプロジェクトにコピーすることをお勧めします. とにかく、多くのコンテンツはありません. プロジェクトファイルのエンコーディングの問題ですが、私の元のコードは GDK である必要があり、現在、アップロードされたバージョンのエンコーディングは UTF-8 に変更されているため、Eclipse の最新バージョンを使用しているかどうかは関係ありません。旧バージョン、エンコーディングの設定・変更は可能です。


2. プロジェクトのデモ

元々はeclipseのプロジェクトでしたが、移植性を検証するためにアイデアで新規プロジェクトを作成し、この空のプロジェクトに内容をコピーしたところ、正常に起動・動作しました。

2.1. プロジェクト開始エントリー

src/com/lemon/login の下の Lemon_Action.java ファイル

ここに画像の説明を挿入

それは単なるメインプログラムです、へへ、スレッドを最初から開始します。スレッドプールを使用せずに、その時点では理解できませんでした〜移動する予定はありません。元の外観を維持するだけです。


2.2. 初期ログイン画面

プロジェクトが正常に開始されると、ログイン ウィンドウがポップアップします。

ここに画像の説明を挿入


2.3. 登録とログイン

当時はまだ開発・テスト段階だと思っていたので、アカウントのパスワードをデスに設定するのが面倒だったので、まずはテスト用のアカウントをいくつか取得しました。[アカウントの登録] をクリックすると、このウィンドウがポップアップ表示されます. 特定のアカウント情報は、プロジェクトの [ユーザー情報] フォルダーにもあります。
ここに画像の説明を挿入


2.4. 個人情報インターフェース

パスワードを入力し、クリックしてログインします。成功すると、個人情報インターフェイスがポップアップします。
ここに画像の説明を挿入ここに画像の説明を挿入


2.5. 個人情報の修正

[情報の編集] をクリックすると、次のウィンドウがポップアップ表示されます。それを変更して、変更された個人インターフェイス情報を確認します。
ここに画像の説明を挿入

[OK] をクリックすると、変更が成功します
ここに画像の説明を挿入

私はそれを元に戻します


2.6. チャットインターフェース

ENTER青いボタンをクリックして、チャットインターフェースに入ります
ここに画像の説明を挿入


2.7. テスト入力

入力してみてください
ここに画像の説明を挿入


2.8. 複数人オンラインログインチャット

次に、多人数オンライン チャットを実装する方法について説明します。次に、手順を示します。実はここにIDEの違いがあり、eclipseを使えばRun asでLemon_Action.javaのメインプログラムを直接再度実行し、実行中のウィンドウを閉じずに別の実行中のウィンドウを開くことができますが、Ideaは実行するとそれができません。直接実行すると、デフォルトでプロジェクトが再起動されますが、これはあまり良くありません.実際には、複数の実行中のウィンドウを開く方法があります.次に、IdeaとEclipseを使用して、複数の実行中のウィンドウを開き、マルチスレッドのマルチパーソンオンラインを実現します.チャット機能。

  • アイデアデモ

1) まず、マルチウィンドウを設定する必要があります。設定の編集... をクリックして設定します。
ここに画像の説明を挿入

2) この実行中のウィンドウの既存の構成に従って、2 つの新しい構成を追加して、3 人が同時にオンラインでチャットすることを示します。
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

このようにして、2 つの新しい実行中のウィンドウが追加されました。

2) 実行を開始するウィンドウを選択します
ここに画像の説明を挿入

注: このプロジェクトでは、次のユーザーにログインするために新しいスレッドを開く前に、各アカウントが正常にログインする必要があります. 同時に複数のログイン インターフェイス ウィンドウを開くことは絶対に許可されていません! ! ! ! ここでは、サーバーの起動の原則については説明しません。実行中の複数のウィンドウを誤って開いて一度に実行すると、バックグラウンドでエラーが報告されます. 再度実行するには、すべてのスレッドを閉じて構成を変更する必要があります. 構成を変更する場合は、後で説明します. .

3) 実行中の 2 番目のウィンドウを開いて、アカウントにログインします。
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

わかりました、これで 2 つのアカウントができました

3) 3 つ目の実行中のウィンドウを開いて、3 つ目のアカウントにログインします。
ここに画像の説明を挿入
ここに画像の説明を挿入

4) チャット用に 3 つのチャット ウィンドウを開きます
ここに画像の説明を挿入

  • 日食デモ

デフォルトでは、Eclipse は新しいウィンドウを開くので、構成する必要はありません。

1) 最初の実行中のウィンドウを開く
ここに画像の説明を挿入

2) 2 番目の実行中のウィンドウを開きます

同じ Run as ——> Java アプリケーションを実行します。
ここに画像の説明を挿入

2) 3 つ目の実行中のウィンドウを開きます
ここに画像の説明を挿入

次のデモンストレーションは同じなので、再度デモンストレーションは行いません。


3. プロジェクトディレクトリの説明

ここに画像の説明を挿入

src: コード ディレクトリ

ファイル:

IdAndPassword: アカウントの起動ステータス。初期化は false です。起動時に問題が発生した場合は、すべての値を false に初期化してください。

ID:口座番号とパスワード

ユーザー情報:各アカウントの情報フォルダ


4. プロジェクト利用上の注意

  • 多人数チャットを開く際は、必ずmianを1つずつ実行してください.ログインインターフェースへのログインに成功したら、次のチャットを開始してください.これにはTCPサービスの起動判定と、以前のアカウント状態の機能表示が含まれます. 誤って複数のログイン インターフェイスを同時に開いた場合は、実行中のすべてのウィンドウを閉じ、IdAndPassword ファイルの構成を変更し、すべての値を false にリセットしてください。
  • このプロジェクトのプログラムを使用する過程で、プログラムを閉じる通常の操作を維持する必要があります.つまり、ログアウトしたい場合は、右上隅の閉じるボタンをクリックする必要があります.プログラムの実行を直接終了することはできません。そうしないと、サーバーの起動ステータスが正しくなくなり、誰もがそれを理解できます。お客様が直接サーバーをシャットダウンすることは不可能です。それでもこれを行う場合は、IdAndPassword 構成ファイルをリセットしてください。

ちょっと感傷的だったのですが、その時は本当に憧れていました。少し自信を持って頑張っても失敗するかもしれませんが、どうしても自分の人生を価値あるものにしたいと思うようになります。


5.エッセイ

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/m0_48489737/article/details/127820435