2011-11-14 15 views
9

मैं जेएमएनयू को अधिभारित करने की कोशिश कर रहा हूं और जेटीक्स्टफिल्ड का समर्थन करने के लिए कुछ कस्टम कोड डाल रहा हूं लेकिन यह ठीक नहीं चल रहा है। मेरा मुख्य उद्देश्य यहां मेरे मेनू आइटम के दाईं ओर एक खोज फ़ील्ड जोड़ना है। तो मेरे पास फाइल, एडिट, बायीं ओर मदद जैसी कुछ है और फिर दाईं ओर सर्च बार होगी, लगभग कुछ ब्राउज़र में Google सर्च बार कैसा है। क्या किसी को पता है कि मैं इस कार्यक्षमता को जोड़ने के बारे में कैसे जा सकता हूं?मैं JFrame के मेनूबार में JTextField कैसे जोड़ सकता हूं?

+0

में रखा यह अच्छी तरह से क्यों नहीं जा रहा है? क्या * विशेष रूप से * आपको परेशान कर रहा है? – mre

+1

@ मीरे मैं एक मृत अंत में भाग गया हूं जहां मैं एक बटन के बजाय टेक्स्ट बॉक्स जोड़ने की कोशिश कर रहा हूं। JMenuItem सार बटन से विरासत में है इसलिए मुझे नहीं पता कि एक सार बटन पर पाठ को बदलने के बजाय टेक्स्ट बॉक्स कैसे जोड़ना है। मुझे यह भी विश्वास नहीं है कि मैं जिस कार्यक्षमता के बारे में बात कर रहा हूं उसे जोड़ने का यह सबसे अच्छा तरीका है क्योंकि ऐसा लगता है कि मुझे जेमेनू के भीतर गहरे सामानों के गुच्छा को बदलना पड़ सकता है। मुझे लगता है कि मैं ऐसा करने के लिए एक बेहतर तरीके से मार्गदर्शन की तलाश में हूं, जिसे मैं वर्तमान में करने की कोशिश कर रहा हूं। – Grammin

उत्तर

18

मैं कभी नहीं देख JMenuItem के रूप में, मुझे लगता है कि कि alyways JMenuBar

enter image description here

import java.awt.ComponentOrientation; 
import javax.swing.*; 

public class MenuGlueDemo { 

    public MenuGlueDemo() { 
     JMenuBar menuBar = new JMenuBar(); 
     menuBar.add(createMenu("Menu 1")); 
     menuBar.add(createMenu("Menu 2")); 
     menuBar.add(createMenu("Menu 3")); 
     menuBar.add(new JSeparator()); 
     menuBar.add(new JButton(" Seach .... ")); 
     menuBar.add(new JTextField(" Seach .... ")); 
     menuBar.add(new JComboBox(new Object[]{"height", "length", "volume"})); 
     menuBar.add(Box.createHorizontalGlue()); 
     menuBar.add(createMenu("About")); 
     JFrame frame = new JFrame("MenuGlueDemo"); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.add(menuBar); 
     frame.pack(); 
     frame.setVisible(true); 
    } 

    public JMenu createMenu(String title) { 
     JMenu m = new JMenu(title); 
     m.add("Menu item #1 in " + title); 
     m.add("Menu item #2 in " + title); 
     m.add("Menu item #3 in " + title); 
     if (title.equals("About")) { 
      m.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); 
     } 
     return m; 
    } 

    public static void main(String[] args) { 
     javax.swing.SwingUtilities.invokeLater(new Runnable() { 

      @Override 
      public void run() { 
       MenuGlueDemo menuGlueDemo = new MenuGlueDemo(); 
      } 
     }); 
    } 
} 
+1

मेरी इच्छा है कि मैं इसे एक बार फिर से ऊपर उठा सकता हूं, एक और उत्कृष्ट उत्तर के लिए धन्यवाद! – Grammin

+0

आपका स्वागत है, +1 की मदद करने में खुशी है, और JCenuItem को किसी भी JComponent को रखने के लिए आसान काम नहीं है, मैंने जोड़ा JComogents – mKorbel

+0

के साथ केवल JDialog/JWindow (GridLayout) के लिए उपयोग किया है ठीक है, – Grammin

संबंधित मुद्दे