2014-05-23 135 views
0

是否可以在點擊按鈕上打開Jmenu?我在Jtable中有一個按鈕,我的要求是當用戶按下這個按鈕時,應該出現一個Jmenu。這可能嗎?是否有可能打開一個Jmenu按鈕單擊揮杆?

+0

如果是,那麼行應該在哪裏作爲JFrame frame = new JFrame(「List of Metrics used」); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setContentPane(new ListModelExample()); frame.setSize(260,200); frame.setVisible(true);被添加,這是理想的主要方法? – user3608233

+0

請使用您下方的編輯按鈕,而不是在當前問題的評論中添加新問題。 – Gynnad

回答

0

是否要在單擊按鈕上顯示menuitem?然後使用此代碼:

import java.awt.BorderLayout; 
import java.awt.EventQueue; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 

import javax.swing.JFrame; 
import javax.swing.JPanel; 
import javax.swing.border.EmptyBorder; 
import javax.swing.JMenuBar; 
import javax.swing.JMenu; 
import javax.swing.JMenuItem; 
import javax.swing.JButton; 

public class TestFrame extends JFrame { 

    private JPanel contentPane; 
    JMenu mnFile; 
    JMenuItem mntmExit; 
    /** 
    * Launch the application. 
    */ 
    public static void main(String[] args) { 
     EventQueue.invokeLater(new Runnable() { 
      public void run() { 
       try { 
        TestFrame frame = new TestFrame(); 
        frame.setVisible(true); 
       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
      } 
     }); 
    } 

    /** 
    * Create the frame. 
    */ 
    public TestFrame() { 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setBounds(100, 100, 450, 300); 

     JMenuBar menuBar = new JMenuBar(); 
     setJMenuBar(menuBar); 
     contentPane = new JPanel(); 
     contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); 
     contentPane.setLayout(new BorderLayout(0, 0)); 
     setContentPane(contentPane); 

     JButton btnNewButton = new JButton("Click me"); 
     contentPane.add(btnNewButton, BorderLayout.SOUTH); 



     mnFile = new JMenu("file"); 
     menuBar.add(mnFile); 

     mntmExit = new JMenuItem("exit"); 
     mnFile.add(mntmExit); 

     btnNewButton.addActionListener(new ActionListener() { 

      public void actionPerformed(ActionEvent e) { 

       mnFile.doClick(); 
      } 
     }); 


    } 

} 
1

是的,這是可能的。您可以默認隱藏menu.setVisible(false);方法的菜單。而就按一下按鈕使其menu.setVisible(true);

JFrame frame = new JFrame("List of Metrics used"); 
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
frame.setContentPane(new ListModelExample()); 
frame.setSize(260, 200); 
frame.setVisible(true); 

第一件事,這些不一定寫在主要方法。而你隱藏菜單的問題不會受到這些行位置的影響。你可以保持原樣。也只在必要的地方渲染Jmenu,但默認情況下保持不可見。

相關問題