2012-03-06 17 views
1

私は..は、JTextAreaを使用せずにjavaで単純なテキストエディタを構築することは可能ですか?

アイデアを私のIT学部の私の最終的なプロジェクトに応じて..私はJTextAreaに(GUIのJava)を使用せずに、(メモ帳のような)単純なテキストエディタを行う必要があり、私は自分のJTextAreaのを確認する必要が疑問を持っています/トピック=独自のテキストエディタ

アルゴリズム= doesntの任意のアイデアはまだ

データ構造=ロープ(バイナリ木のメンバー)

要件= JTextAreaにせずに型付けを持っている...

Iそれを作ることは可能ですか?パネル(またはそのようなもの)がリスナーを持っているのですか、そうするためにリスナーを作ることができますか? 単純に考えて、最初のステップ私はちょうどパネル上で入力するためにしようと思っている、絶対にアルゴリズムが必要ですが、私はこれまで正しいアルゴリズムを取得していません..それは可能ですか?

私の考えは、IMタイピングがツリーに格納されていることをテキストで..私のデータ構造のために(バイナリーツリーのメンバー)がロープですか?

ありがとうございました...

+1

あなたの教授はなぜあなたに課題として不可能な仕事を与えますか?可能です。私は何の問題がある場合はあなたの助け –

答えて

5

可能です。

JPanelを付けて使用すると、KeyListenerMouseListenerとなります。

あなたは、モデル(Document)が必要です。最も簡単な場合は、例えばStringBuilderとすることができ、コンテンツを追加してStringBuilderのコンテンツを表示することができます。

あなたは編集が起こるべき場所を示すために、キャレット位置(int型フィールド)が必要です。

あなたは、エディタで使用するすべてのフォント情報を保持するためにフォントのフィールドを必要としています。

上書きpaintComponent()及びテキストを測定し、必要な幅/高さを計算するFontMetricsを使用します。最初は、行折り返しのないテキスト領域を作成しました。

viewToModel/modelToViewメソッドを実装します。与えられたキャレット位置に対して与えられたx、y、x、yに対するキャレットの位置を計算する必要があります。

+0

StanislavL THXが..私はあなたの提案をしてみてくださいよ..私はそれが..行うことは非常に簡単だと思う 、私は再び頼みますよ... – ordinaryBoys

関連する問題