0
Container A
の鉛成分を別のContainer B
(独自の鉛成分を含む)に追加しようとしています。しかし、Container A
をContainer B
のポインタイベントに別々に動作させる方法を理解できません。コードネームネストされた鉛成分
以下のコードは、私がこれまで行ってきたことです(失敗しました)。要約すると、Lead component A
のsetBlockLead(true)
を呼び出すと、Lead component A
はそれ自身のアクションリスナーを呼び出すことができますが、残りの部分には影響しません。Container A
Container conB = new Container();
Button leadB = new Button("b");
leadB.addActionListener((evt) -> {
System.out.println("Lead B");
});
conB.setLeadComponent(leadB);
Container conA = new Container(BoxLayout.y());
Button leadA = new Button("a");
leadA.addActionListener((evt) -> {
System.out.println("Lead A");
});
conA.add(leadA);
conA.add("Another label");
conB.add(leadB).add(conA);
conA.setBlockLead(true); //This has no effect
conA.setLeadComponent(leadA); //Apparently no effect either
leadA.setBlockLead(true);
//Clicking on leadA (and only leadA) will print "Lead A", but
//Clicking on Label will not
この主な理由は、上記容器の残りの部分をクリックすると異なって行動しなければならない言葉、以下の両方の画像でボタンを表示することです。
アドバイスをしてください。
誰かにとって参考になる場合は、LeadコンポーネントのActionListenerでポインタの位置を確認してしまいました。アニメーションはオフですが、少なくともイベントが発生します。 –