Java 下拉菜单边框去不掉?

jinggangshi 2021-02-23 11:09:17

如图中,自定义菜单,其边框怎么也去不掉,想将其设置与背景同色也做不到?
用过的方法:
this.setUI(new MenuUI(uiBackgroung, uiForeground));
this.addActionListener(listener);// 估计响应被菜单内部事件先截 了,没有响应
this.setBorder(BorderFactory.createLineBorder(background,0));
// this.setBorder(BorderFactory.createBevelBorder(0));
// this.setBorderPainted(false);
this.setFocusPainted(false);

在JMenu和JMenuItem中都试过了?
这条线到底是谁的?
...全文
200 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinggangshi 2021-02-25
  • 打赏
  • 举报
回复
引用 1 楼 sunyiz 的回复:
实际上这个边框不是 JMenu 也不是 JMenuItem 的 而是 JPopupMenu 的,你这里弹出的实际上是一个 JPopupMenu 你如果想尝试修改这个边框, 那么需要修改 JPopupMenu 在 UIManager 中设定的默认边框键值 可以通过这样实现: UIManager.put("PopupMenu.border", BorderFactory.createEmptyBorder()); 不过这样带来的后果是,你所有的 JPopupMenu 都会失去边框
ok,是这么回事,已经解决
sunyiz 2021-02-25
  • 打赏
  • 举报
回复
实际上这个边框不是 JMenu 也不是 JMenuItem 的 而是 JPopupMenu 的,你这里弹出的实际上是一个 JPopupMenu 你如果想尝试修改这个边框, 那么需要修改 JPopupMenu 在 UIManager 中设定的默认边框键值 可以通过这样实现: UIManager.put("PopupMenu.border", BorderFactory.createEmptyBorder()); 不过这样带来的后果是,你所有的 JPopupMenu 都会失去边框

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧