我正在尝试用另一个边框更改JMenuBar的边框。就像这样(例如):
从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));但它不起作用:( ...
/edit
发布于 2012-08-29 01:40:12
最后,我终于找到了你想要的:) UIManager的正确属性是PopupMenu.border。要将整个弹出菜单的边框更改为4像素的粗细和红色(这只是一个有趣的示例),您需要以下代码行:
UIManager.put("PopupMenu.border", BorderFactory.createLineBorder(Color.red, 4));下面是一个小示例:
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);
}
}在我的旅程中得到的最好的帮助是java应用程序UIManager Defaults。
发布于 2012-08-29 00:55:51
我会从查看javax.swing.border.Border class开始。每个扩展javax.swing.JComponent的Swing类都有一个setBorder() method。
我强烈建议您熟悉一下Java API documentation。当您使用Java进行编程时,这些是一个非常有价值的工具。
https://stackoverflow.com/questions/12163624
复制相似问题