0

JLabel論理ゲートをシミュレートするプログラムを作成しましたが、描画キャンバスに追加するなどして論理ゲートに問題が発生しています。ワイヤーに接続されている 2 つの入力 (スイッチなど) をドロップすると、スイッチをクリックすると、それに接続されているワイヤーの色が変わります。スイッチの 1 つだけをクリックすると、接続されている 2 つの異なるワイヤの色が変わります。

クリック アンド ドロップJLabelすると x1 になり、次にクリック アンド ドロップJLabelすると x2 になります。どのようにしますか?

4

1 に答える 1

0

1)個人を構成する小さな groupsものを作成し、それらをユニークにします。 elements

例: Two JLabelsas Two switches, Swing Lineas wire. これは、1 つにグループ化された 1 つの論理ユニットになります。このような複数のグループがあります。すべてのグループが一意です。

2)要素とそれぞれのグループを特定したら、キャンバス内の要素がドロップされている場所を検出することで、キャンバスdropping elementsに新しい要素を特定します。がその要素にドロップされている場合は、その要素がグループに追加されます。次に、この新しいユニットがドロップされている要素を特定します。new elementGroupaddtoaround

例: newが 有効なJLable近くにドロップされている場合は、それをそれに結合します。だから、あなたはに参加しているでしょう。 Swing LineJLablelineSwitchwire

なぜグループアプローチなのか?

要素を小さなグループにグループ化することで、グループ化に基づいて条件を設定できます。からの要素などの条件は、からの要素group xと結合してはなりませんgroup y。このグループ化アプローチにより、セットアップする場合に柔軟性が得られますlogical joining conditions

専門性:

要素の座標はwhereon what新しい要素がドロップされていることを検出するのに役立ちます

Javaでドラップドロップを行うには?

Java Swing は、Drap-Drop、Cut、Paste などの操作をサポートしています。

完全なガイドについては、こちらを参照してください >> http://docs.oracle.com/javase/tutorial/uiswing/dnd/index.html

于 2013-05-16T10:22:22.223 に答える