2012-08-28 25 views
7

JMenuBar'ın kenarlığını başka bir kenarlıkla değiştirmeye çalışıyorum. o (örneğin) gibi:Bir JMenuBar sınırının değiştirilmesi

Ama Image 2 http://img11.hostingpics.net/pics/900299Sanstitre2.png için Image 1 http://img11.hostingpics.net/pics/696780Sanstitre.png itibaren bunu için bir yol bulmak mümkün değil. İstediğim herşeyi değiştirebilirim ama.

[değiştir] Zaten denedim:

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)); 

ve işe yaradı gelmez oluyor :(...

ben bakarak başlayacaktı

cevap

11

Sonunda, aradığınız şeyleri buldum :) UIManager için doğru özellik 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); 
    } 
} 
: Burada
UIManager.put("PopupMenu.border", BorderFactory.createLineBorder(Color.red, 4)); 

küçük örnektir: 4 piksel kalınlığında ve kırmızı bir renge (sadece komik bir örnek) aşağıdaki satırı ihtiyaç bütün açılan menü sınırını değiştirmek için

Bunu elde etmek için yolculuğumda en iyi yardım, java uygulamasıdır UIManager Defaults

+0

Çok teşekkürler :) – user1534422

2

[/ değiştir] javax.swing.border.Border classjavax.swing.JComponent'u uzatan her Swing sınıfı bir setBorder() method'a sahiptir.

Size kesinlikle öneriyorum. Kendinizi Java API documentation ile tanıştırın. Java'da programlama yaparken bunlar çok değerli bir araçtır.

+0

Java Doc'u dikkatli bir şekilde kontrol ettim, ancak tavsiyeleriniz için teşekkürler;) Sanırım Swing'in her bileşeninin sınırını kaldıracağım bu sınır ortadan kalkana kadar. – user1534422

İlgili konular