1

Javaでカスタムコンポーネントを作成したいと思います。これはテキスト領域のようなものですが、グリッドで構成されており、書くと、すべての文字がグリッドセルに入ります。どこから始めたらいいのかわからない。値属性を持つCellクラスと、Cell配列属性を持つSheetクラス、および書き込み中に現在のセルを指すポインターを想像します。私はそのようなものをプログラミングするのにそれほど問題はありません。私の重要なことは、それをユーザーにグラフィカルに表示する方法です。

何か提案や参考資料はありますか?

編集:私はあなたの優れた答えを読みましたが、それは私が探しているものではありません。「グリッドで構成されたテキスト領域と、すべての文字がグリッドセルに入る」と言うときは、これから行うことを単純化したものにすぎません。さらに説明します:

テキストエリアがあります。すべての行は、2つ(またはそれ以上)の行(上と下の行)で構成されます。すべての行にセルが含まれています。すべてのセルには、文字または別のオブジェクト(文字または画像などで表されます)があります。上の行の文字は、対応する下のセルにバインド/フォローされます。このような。

_ _ _ _ _ _ _ _ _ _ _ _ _
_|_|_|_|_|_|X|_|_|_|_|_|_|
H|E|L|L|O|_|W|O|R|L|D|,|_|
_ _ _ _ _ _ _ _ _ _ _ _ _
_|_|_|_|Y|_|_|_|_|_|_|_|_|
H|O|W|_|A|R|E|_|Y|O|U|?|_|
_ _ _ _ _ _ _ _ _ _ _ _ _
_|_|_|_|_|_|_|_|_|_|_|_|_|
_|_|_|_|_|_|_|_|_|_|_|_|_|

XがWORLDの下部Wにバインドされ、YがAREの下部Aにバインドされていることがわかります。私は今それがもう少し明確であることを願っています:-pそのようなカスタムツール/コンポーネント/エディタを構築、設計、プログラミングする際の正しいアプローチは何ですか?

4

2 に答える 2

4

カスタムJTableを作成するのはどうですか?ここでは、最初にいくつかの情報を見つけることができます。

于 2012-08-05T18:11:51.913 に答える
0

私は自分の目的に最適な優れたソリューションを見つけました。最初の投稿で説明したようなカスタムGUIコンポーネントの作成に取り組む方法は、JPanelを拡張し、KeyboardListener(および必要に応じてMouseListener)を実装することです。 )。主要なコンポーネントクラスを構成するRowクラスとPointerクラスも作成します。必要なものに基づいたグラフィックは、JPanelのpaintComponentメソッドをオーバーロードすることによって作成されます。明らかに、キーボードとマウスのアクションを処理するには、KeyboardListenerメソッドとMouseListenerメソッドの両方を実装する必要があります(どちらもインターフェイスです)。

誰かが興味を持ってさらに説明を求めた場合は、クラス図などを提供できます。

于 2012-08-08T12:26:12.757 に答える