2016-05-12 4 views
-1

How do I create a right click context menu in Java Swing? の質問が表示され、どのようにメニューを作成できますか。 しかし、それをテキストエリアに関連付けると、何かが書かれているかどうかは関係ありません。常にメニューを表示します。テキスト領域に右クリックポップアップメニューを作成します。空でなく、選択したインデックスを取得する場合

私は、特定のクラス(ArrayListに保存する)から作成したオブジェクトの数を明らかにするためにテキスト領域を使用します。必要なのは、特定の行のテキストをクリックすると、ArrayList内のオブジェクトのインデックスを持ち、そのメニューを使用してArrayListからその指定されたオブジェクトを編集/削除できるメニューです。 これはテキスト領域で可能ですか、別の種類の表示コンポーネントを使用する必要がありますか?

テキスト領域:

対象物1

物体2

対象物3

Iを選択すると、例えば、1とオブジェクト例として

右クリックすると、編集と削除のメニューが表示されます。しかし、私はそれらのいずれかを選択しないと、メニューが表示されません。 そして、それが表示するとき、それはオブジェクトODインデックスにアクセスすることができます(オブジェクト1 - >インデックス0、オブジェクト2 - >インデックス1など)

おかげであなたの助けのためにたくさん、 Nhekas

+0

これは難しくありません。それを試して、問題が生じたら、私たちにお尋ねください。 –

+0

私が試したのは、マウス(MouseEvent.getPoint())から取得した位置とJTextAreaで対応する行を結合することです。スクロールペインの内側にあるため、同じ場所をクリックするとgetPoint()は変更されません。 – Nhekas

+0

JScrollPaneのgetViewPositionメソッドを見てください。 – FredK

答えて

1

テキスト領域を使用して、特定のクラスから作成したオブジェクトの数を表示します。

JTextAreaは使用しないでください。

代わりにJListを使用することをお勧めします。詳細と例については、How to Use ListsのSwingチュートリアルのセクションを読んでください。

JListには、locationToIndex(...)という方法があります。これは、マウスがクリックされた行を示します。次に、リストからオブジェクトを取得できます。

+0

お元気です!どうもありがとう!それはそれをより簡単にする! – Nhekas

関連する問題