Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何向JMenu按钮添加边框_Java_Swing_User Interface_Jmenu_Jmenuitem - Fatal编程技术网

Java 如何向JMenu按钮添加边框

Java 如何向JMenu按钮添加边框,java,swing,user-interface,jmenu,jmenuitem,Java,Swing,User Interface,Jmenu,Jmenuitem,我无法将边框添加到JMenu按钮,看起来setBorder方法仅适用于JMenuItem import javax.swing.*; import java.awt.*; public class Test extends JFrame { public Test() { initUI(); } private void initUI() { // creating menuBar JMenuBar menuBar = new JMenuBar(); //

我无法将边框添加到JMenu按钮,看起来setBorder方法仅适用于JMenuItem

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

public class Test extends JFrame {
public Test() {
   initUI();
}

private void initUI() {


    // creating menuBar
    JMenuBar menuBar = new JMenuBar();

    // creating menu and adding border
    JMenu menu = new JMenu("Some menu");
    menu.setBorder(BorderFactory.createLineBorder(Color.black, 3));

    // creating item and adding border (the same way)
    JMenuItem item1 = new JMenuItem("Some item");
    item1.setBorder(BorderFactory.createLineBorder(Color.black, 3));

    // adding all together
    menu.add(item1);
    menuBar.add(menu);
    setJMenuBar(menuBar);

    // basic settings for the window
    setTitle("Testing JMenu");
    setSize(360, 250);
    setLocationRelativeTo(null);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
}

public static void main(String[] args) {
    EventQueue.invokeLater(() -> {
        Test test =new Test();
        test.setVisible(true);
    });
}
}
结果如下:;我希望JMenu和JMenuItem周围都有黑色边框


JMenu更复杂。您可能必须按如下方式对其进行编辑:

UIManager.put("PopupMenu.border", new LineBorder(Color.RED));
您可以在以下位置查看UIManager的javadocs

然后,您可以检查文件
${java.home}/lib/swing.properties
中类似的属性。

它对我很有效:()JMenu和JMenuItem中都有边框。我不明白你的问题出在哪里!!
menu.setBorderPainted(true);
UIManager.put("PopupMenu.border",BorderFactory.createLineBorder(Color.RED));