2012-08-28 13 views
7

मैं एक अन्य सीमा के साथ एक जेमेनूबार की सीमा को बदलने की कोशिश कर रहा हूं। जैसा कि (उदाहरण के लिए):एक जेमेनूबार सीमा बदलना

से Image 1 http://img11.hostingpics.net/pics/696780Sanstitre.png करने के लिए Image 2 http://img11.hostingpics.net/pics/900299Sanstitre2.png

लेकिन मुझे लगता है कि इसके लिए कोई तरीका नहीं मिल रहा। मैं जो भी चाहता हूं उसे बदल सकता हूं लेकिन वह।

[संपादित करें] मैं पहले से ही की कोशिश की है:

UIManager.put("Menu.border", BorderFactory.createLineBorder(Color.black, 1)); 
UIManager.put("MenuBar.border", BorderFactory.createLineBorder(Color.black, 1)); 
UIManager.put("MenuItem.border", BorderFactory.createLineBorder(Color.black, 1)); 

और यह काम नहीं करता है :(...

[/ संपादित करें]

उत्तर

11

आखिरकार मैंने जो भी खोजा है वह आपको मिला है :) UIManager के लिए सही संपत्ति PopupMenu.border है।

import java.awt.Color; 
import javax.swing.*; 
import javax.swing.border.*; 

public class CustomPopupMenuBorder 
{ 
    public static void main(String[] args) 
    { 
     UIManager.put("PopupMenu.border", BorderFactory.createLineBorder(Color.black, 1));  
     JDialog myJDialog = new JDialog(); 
     myJDialog.setSize(450,300); 
     JMenuBar bar = new JMenuBar(); 
     JMenu menu = new JMenu("It's a me"); 
     JMenuItem item = new JMenuItem("JMenuItem 1"); 
     JMenuItem item2 = new JMenuItem("JMenuItem 2"); 
     menu.add(item); 
     JSeparator sep = new JSeparator();  
     menu.add(sep); 
     menu.add(item2); 
     bar.add(menu); 
     myJDialog.setJMenuBar(bar); 
     myJDialog.setVisible(true); 
    } 
} 
:

UIManager.put("PopupMenu.border", BorderFactory.createLineBorder(Color.red, 4)); 

यहाँ एक छोटा सा उदाहरण है: 4 पिक्सेल की मोटाई और एक लाल रंग (सिर्फ एक अजीब उदाहरण) आप निम्न पंक्ति की जरूरत के लिए पूरे पॉपअप मेनू की सीमा को बदलने के लिए

यह प्राप्त करने के लिए मेरी यात्रा पर सबसे अच्छी मदद थी जावा एप्लिकेशन UIManager Defaults

+0

बहुत बहुत धन्यवाद :) – user1534422

2

मैं को देखकर शुरू होगा javax.swing.border.Border class। प्रत्येक स्विंग क्लास जो javax.swing.JComponent का विस्तार करती है setBorder() method है।

मैं दृढ़ता से सुझाव देता हूं कि आप Java API documentation के साथ स्वयं को परिचित करें। जब आप जावा में प्रोग्रामिंग कर रहे हों तो ये एक अमूल्य उपकरण हैं।

+0

मैंने पहले ही जावा दस्तावेज़ को ईमानदारी से जांच लिया है, लेकिन सलाह के लिए धन्यवाद;) मुझे लगता है कि मैं स्विंग के हर घटक की सीमा को हटा दूंगा जब तक इस सीमा का अपमान नहीं होता है। – user1534422

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