問題タブ [jpopupmenu]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 複数のコントロール用の 1 つの jPopup
次のようなコードがあります。
メニュー項目にはアクションがあります:
すべてのテキスト コンポーネントに対して 1 つのポップアップを使用する方がよいと思います。テキストをコピーするためにクリックされたコンポーネントに関する情報を渡すにはどうすればよいですか? そのような場合のより一般的な解決策があるのでしょうか?
java - カスタム要素を JPopupMenu に追加する
この問題は、次の 2 つの異なる方法で述べることができます。
1. (カスタム)JPopupMenu
ではないコンポーネントを挿入したい場所がありますが、その方法がわかりません。JMenuItem
JTree
また
2.別のポップアップ ( JPopupPanel
) がありJMenuItems
、カスタムの下に追加して、JTree
それらJMenuItems
が に挿入されているかのように機能するようにしJPopupMenu
ます。マウスを重ねると強調表示され、いずれかが選択されるとポップアップが閉じます。
ヒントはありますか?
注: 2で、問題なく JMenuItems を追加できます。ポップアップに表示されていることを示していますが、JMenu または JPopupMenu にあるときのようには機能しません。
java - JMenuItemから削除します
さて、皆さんのおかげでようやくJListMenuをダウンさせました。ただし、現在、SPECIFICアイテムにSPECIFICコマンドが含まれるようにしようとしています。したがって、アイテム1のように、[キャンセル]を右クリックすることはできませんが、アイテム2、アイテム3、およびアイテム4はできます。私がどこに行くのか分かりますか?
これまでの私のコードは次のとおりです。
そして、それは動作します!つまり、右クリックすると、どのアイテムリストで選択したオプションが表示されます。ただし、右クリックするとメニュー項目に小さな警告ラベルが表示されます。変。
とにかく、すぐ下System.out.println("You pressed on " + actItemx);
にこれを追加してみました:
そしてそれはうまくいったように見えました(しかし、それから私はそれを再追加しなければならないので、それはまだ完了していません、ええ)。しかし、右クリックするとキャンセルが消えてしまいました。予想通り。ウー!しかし、もう一度右クリックすると、次のエラーが発生しました。
ああ、まあ-画板に戻ります。私は何が間違っているのですか?
java - JMenuItemsを追加する効率的な方法
さて、私のINVプログラムがメニュー項目を削除する前に、私はすべてのようでした..それは多すぎます。では、毎回削除するのではなく、特定の右クリック項目のメニュー項目を追加するとどうなりますか?
したがって、項目1を右クリックすると、メニューに「使用」と「ドロップ」が追加されます。次に、オプションを選択すると、JMenuはすべてを削除するので、開始した場所に正しくなります。次に、ITem 2を右クリックすると、「使用」と「キャンセル」が追加されます。私がどこに行くのか分かりますか?
自分でやってみましたが、どうすればいいのかわかりません。たとえば、新しいJMenuItemを追加するには、次のようにする必要があります。
ご覧のとおり、アクションリスナーを追加します。私はそれを下で行うことができないif (actItemx == "Item 1") {
ので...私は何をしますか?
とにかく、これが私がこれまでに持っているものです:
java - 無効なJMenuItemがクリックされたときにメニューを非表示にしないようにする方法は?
私の Java スイング アプリケーションでは、JPopupMenu で無効な JMenuItem をクリックするとメニューが非表示になることに気付きましたが、何もクリックされていないかのように非表示にしたくありません。これを防ぐ方法はありますか?
----------------------------------->更新: コード サンプルを追加:
java - JPopupMenuに、所有者のJFrameに対するホバー効果を無効にするように強制しますか?
JFrameでJTableを右クリックすると、JPopupMenuが表示されます。このJPopupMenuをそのまま表示したまま、マウスを使用してJTableに移動した場合でも、その行にカーソルを合わせることができます。
これは、Windowsアプリケーションのデフォルトの動作ではありません。通常、ポップアップメニューがプログラムに表示されると、ポップアップ所有者ウィンドウでのホバーアクションがブロックされます。
Javaでも同じことができますか?
java - JCombo のサブメニュー
JComboBox
にはとadd(PopUpMenu)
がありadd(JMenuItem)
ます。
私のクラスは JComboBox を拡張します。JPopUpMenu を作成しましたが、JComboBox をクリックしても表示されません。代わりに、何も表示されません。何か案は?
java - Java Swing で JPopupMenu を破棄する
GUI で特定のコンポーネントを右クリックすると表示される JPopupMenu を使用しています。
次に、この 2 つの状況で表示されるポップアップ メニューを破棄する必要があります。
- ユーザーがポップアップに表示されたメニュー エントリをクリックします (関連するアクションを実行してポップアップを閉じます)。
- ユーザーが画面上の別の場所をクリックします (何もせずにポップアップを閉じます)
現在表示されているポップアップをArrayListに格納してこの問題を解決し、前の2つの状況のいずれかが発生したときに手動で非表示に設定しました。
だから、私は2つのことを知りたい:
- すべてのアクティブなポップアップの参照を手動で取得せずに、それを行うよりクリーンな方法はありますか? (おそらく、どの Swing 機能でもそれを実現できますか?)
- 割り当てられたメモリを解放するために、そのオブジェクトへの参照がなくなったポップアップを非表示に設定するだけで十分ですか? または、 dispose のようなメソッドを使用する必要がありますか? (JPopupMenu で定義された dispose メソッドはありません)
少し複雑なので、実際のコードを表示するのは少し難しいです。とにかく、それは次のことを行います:
EditorPopupMenu は JPopupMenu を拡張します。前のコードは、特定のオブジェクトでクリックが発生し、指定されたオブジェクトがポップアップ メニューを構築してそれを返すと、MouseListener によって呼び出されます。
MouseListener 内から:
これですべてです。このコードでは、JPopupMenu が適切に消えません。
java - netbeans で視覚的なスイング JPopup メニューを使用する
アプリにポップアップ メニューを追加したいのですが、それをパネルに追加すると消えてしまいます。jpopup メニューを他のメニューのように視覚的に編集するにはどうすればよいですか?
java - JPopupMenu をクリックすると JPopupPanel が閉じられる
JPopupPanel
ボタンをクリックすると表示されます。
これJPopupPanel
にはJPopupMenu
、マウスの右クリックで表示される があり、さまざまなオプションが表示されます。左ボタンを押して PopupMenu でこのオプションのいずれかを選択すると、PopupPanel が閉じて、PopupMenu だけがしばらく残ります。ボタンを放すと、PopupMenu も (予想どおり) 消えますが、アクションは画面に表示されません。 PopupPanel は既に閉じられているためです。
JPopupMenu のオプションの 1 つを選択するときに JPopupPanel が閉じないようにするにはどうすればよいですか?
ありがとう