【问题标题】:Changing a JMenuBar border更改 JMenuBar 边框
【发布时间】:2012-08-29 01:45:43
【问题描述】:

我正在尝试将 JMenuBar 的边框更改为其他边框。像那样(例如):

来自Image 1 http://img11.hostingpics.net/pics/696780Sanstitre.pngImage 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));

它不起作用:( ...

[/编辑]

【问题讨论】:

    标签: java swing border jmenubar


    【解决方案1】:

    最后我找到了你要找的东西:) 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

    【讨论】:

      【解决方案2】:

      我将从查看javax.swing.border.Border class 开始。每个扩展 javax.swing.JComponent 的 Swing 类都有一个 setBorder() method

      我强烈建议您熟悉Java API documentation。当您使用 Java 进行编程时,这些是非常宝贵的工具。

      【讨论】:

      • 我已经认真检查了 java 文档,但感谢您的建议;)我想我会删除 Swing 的每个组件的边框,直到这个边框消失。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-23
      • 2017-12-29
      • 1970-01-01
      • 2018-07-09
      • 1970-01-01
      • 2011-02-22
      • 2017-03-05
      相关资源
      最近更新 更多