2
我已經嘗試在Netbeans可視化編輯器中通過設計將彈出菜單添加到JFrame,但它不起作用。 任何人都可以一步一步提示我如何添加? 非常感謝!如何在NetBeans可視化編輯器中在JFrame中添加彈出式菜單
我已經嘗試在Netbeans可視化編輯器中通過設計將彈出菜單添加到JFrame,但它不起作用。 任何人都可以一步一步提示我如何添加? 非常感謝!如何在NetBeans可視化編輯器中在JFrame中添加彈出式菜單
問題是JPopupMenu
不是最初可見或添加到容器的組件。所以只需將其拖放到設計視圖框架中,對設計視圖不會產生任何影響。
但是,如果你看看源代碼或導航器,你會看到聲明爲類成員jPopupMenu
並在initComponents()
方法實例化。
我自己嘗試過不同的事情,並且從我嘗試過的方式來看,它看起來並不像可以用可視方式設計彈出菜單。你可以使用Navigator來設計它。
jPopupMenu1
。您可以通過右鍵單擊並選擇Add from Palette
來添加JMenus
或JMenuItems
。JMenuItem
和slecting Events -> Actions -> actionPerformed
爲了使JPopupMenu
出現添加監聽器JMenuItem
,你需要一個MouseListener
添加到組件,無論是框架或其他零件。例如(在框架):
Events -> Mouse ->
,你將需要實現兩個mousePressed
和mouseReleased
,因爲不同的平臺有不同的彈出式觸發器時,Windows是mouseReleased
,我認爲Mac是mousePressed
(不要引用我)。創建一個方法來顯示彈出菜單。
private void showPopupMenu(MouseEvent e) {
jPopupMenu1.show(this, e.getX(), e.getY());
}
實現你mousePressed
和mouseReleased
方法
private void formMousePressed(MouseEvent evt) {
if (evt.isPopupTrigger()) {
showPopupMenu(evt);
}
}
private void formMouseReleased(MouseEvent evt) {
if (evt.isPopupTrigger()) {
showPopupMenu(evt);
}
}
TNX你的答案,但我使用Mac和也實現了我和的mousePressed方法的mouseReleased但不工作: ( –
Oooh sry :(我有一個錯誤,沒關係 mac popup trigger'mousePressed()':) –