Java 如何向JMenu按钮添加边框
我无法将边框添加到JMenu按钮,看起来setBorder方法仅适用于JMenuItemJava 如何向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(); //
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));