如何删除 JMenu 或 JMenuItem 上的边框

2024-04-07

我正在使用 Eclipse Luna 和 Java 1.7,并尝试创建一个JPanel有一个JMenuBar. This JMenuBar包含一个JMenu其中又包含一个JMenuItem。为了契合整体JMenuBar在我的项目视觉设计中,我更改了背景和前景色JMenu, JMenuBar and JMenuItem using UIManager.put()。结果应该是一个下拉菜单,其中的部分仅按颜色的不同深浅划分(在我的示例中为蓝色)。没有线条或边界。

然而,白色、银色蚀刻边框仍然保留在MenuItem.

我的问题是:如何让这个边框消失?

我还想知道这个边框出现在什么元素上,以及它是否是一个“功能”或者有某种意义。

SSCCE:

package sscce;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.UIManager;
@SuppressWarnings("serial")
public class GameUIPanel extends JFrame {
    public GameUIPanel() {
        setLayout(new BorderLayout());
        setPreferredSize(new Dimension(800, 600));
        setResizable(false);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        setLayout(new BorderLayout());
        setBackground(Color.decode("#00a2e8"));

        // create and adjust Components
        UIManager.put("MenuBar.background", Color.decode("#00a2e8"));
        UIManager.put("MenuBar.selectionBackground", Color.decode("#0092e4"));

        UIManager.put("Menu.background", Color.decode("#00beff"));
        UIManager.put("Menu.selectionBackground", Color.decode("#00a2e8"));
        UIManager.put("Menu.foreground", Color.decode("#91593c"));
        UIManager.put("Menu.selectionForeground", Color.decode("#7e3c1a"));

        UIManager.put("MenuItem.background", Color.decode("#00beff"));
        UIManager.put("MenuItem.selectionBackground", Color.decode("#00a2e8"));
        UIManager.put("MenuItem.foreground", Color.decode("#91593c"));
        UIManager.put("MenuItem.selectionForeground", Color.decode("#7e3c1a"));

        UIManager.put("PopupMenu.border",
                BorderFactory.createLineBorder(Color.decode("#00beff"), 1));
        UIManager.put("PopupMenu.foreground", Color.decode("#000000"));

        JMenuBar menubar = new JMenuBar();
        menubar.setBorder(BorderFactory.createLineBorder(
                Color.decode("#7e3c1a"), 2, false));

        JMenu gameMenu = new JMenu("Game");
        gameMenu.setOpaque(true);
        gameMenu.setFont(Font.decode("Arial-BOLD-24"));

        JMenuItem back = new JMenuItem("Back");
        back.setFont(Font.decode("Arial-BOLD-24"));

        gameMenu.add(back);
        menubar.add(gameMenu);

        setJMenuBar(menubar);
        pack();
        setVisible(true);
    }
    public static void main(String[] args) {
        GameUIPanel gui = new GameUIPanel();
    }
}

Added an image, as requestet. I hope this helps. 3 different states of the JMenuBar; red marks on said borders


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何删除 JMenu 或 JMenuItem 上的边框 的相关文章

  • 一般如何处理 CXF 请求处理程序中的输入参数?

    我一直在使用 apache CXF 版本 2 2 2 JAX RS 进行一些工作 我试图在调用业务方法之前在 CXF 请求处理程序中引入数据验证层 幸运的是 我在请求处理程序 DataValidationHandler 中遇到输入参数处理问
  • JPA:运行时如何指定类对应的表名?

    注意 我对 Java 非常熟悉 但对 Hibernate 或 JPA 还不太熟悉 还没有 我想编写一个通过 JPA 与 DB2 400 数据库通信的应用程序 现在我可以获取表中的所有条目并将它们列出到 System out 使用 MyEcl
  • 在多个不同线程之间共享变量

    我想在多个线程之间共享一个变量 如下所示 boolean flag true T1 main new T1 T2 help new T2 main start help start 我想分享flag在主线程和帮助线程之间 这是我创建的两个不
  • 编写潜在并发问题的证明

    我正在阅读 Java 并发实践 并尝试编写一段代码来表明第 3 5 1 章中作为示例提供的类确实会引入问题 public class Holder public int n public Holder int n this n n publ
  • 使用祖父母接口的默认方法

    我完全不明白为什么这行不通 interface Test default void doMagic System out println Abracadabra class TestImpl implements Test class Sp
  • Java 中的 sscanf 等效项[重复]

    这个问题在这里已经有答案了 可能的重复 用于使用已知模式解析字符串中的值的 sscanf 的 Java 等效项是什么 https stackoverflow com questions 8430022 what is the java eq
  • 修改 Settings.apk 以与 Project Glass 配合使用

    我正在尝试构建要在 Google I O 的 Hacking Glass 会议上在 Glass 上使用的 Settings apk 他提到 为了让设置 apk 正常工作 需要修改清单中的一行 这是 AOSP 清单 http pastebin
  • Simplify-Ja​​va (by hgoebl) 减少点列表大小始终为 2 的问题

    我正在尝试实现减少算法https github com hgoebl simplify java https github com hgoebl simplify java 我查看了他的测试代码 并试图找出我认为正确的逻辑 我正在列出一份清
  • 当派生类中重写该方法时,如何使用派生类 Object 调用基类方法?

    class A public void m1 System out println hi base class class B extends A public void m1 System out println hi derived p
  • Postgres UUID 和休眠

    我有一个具有 UUID 列的实体 它不是主键 我正在使用 Postgres 和 hibernate 我对此专栏的类型是https www postgresql org docs 9 1 static datatype uuid html h
  • 想要从 beanIO 字段名称标签在 csv 中写入标题

    我想在 csv 文件中写入标题 因为我的文本文件不包含任何标题 所以我想从 beanIO 字段名称标签写入它 我有一个 beanIO 有两个流 一个用于读取 另一个用于写入 这是输入文件 文本输入 txt 1 约翰 露 BA xxx1萨姆
  • 如何为我的数独游戏制作 GUI? (摇摆)

    到目前为止 我已经编写了生成随机 9x9 数独网格的代码 我是Java的初学者 所以我有一些关于如何做UI的问题 显示数字的最佳方式是什么 我尝试创建 81 个 JTextFields 这非常乏味 而且我确信有一种有效的方法可以做到这一点
  • 如何从 Java 类调用 Kotlin 类

    我需要将意图从 java 活动传递到 Kotlin 活动 Java活动ProfileActivity class Intent selectGameIntent new Intent ProfileActivity this kotlin
  • 如何将捕获的图像写入/粘贴到文档文件?

    我有一个场景 我需要捕获图像并将它们一个接一个地写入到一个word文件中 我已经编写了下面的代码 但似乎不起作用 请帮忙 Robot robot try robot new Robot BufferedImage screenShot ro
  • 定时器启动/停止参数

    自从加入这个社区以来 我在技能和进步方面取得了突飞猛进的进步 你们都是一个巨大的帮助 我无法提供一个计时器 该计时器已在启动和停止时实现了某些参数 我要么收到错误消息 局部变量计时器可能尚未初始化 要么没有收到错误消息 但什么也没有发生 也
  • 在 init 之外在 java 中创建对象

    因此 对于我正在创建的游戏 我有一些扩展 GameDriver 的类 到目前为止 在所有其他类上我都能够扩展 GameDriver 然后在 GameDriver 中我可以执行以下操作 ArrayList
  • java:验证 GUI 中的所有文本字段是否已完成

    我正在尝试创建一个允许某人设置帐户的 GUI 我想验证按下创建帐户按钮时所有文本字段是否完整 做这个的最好方式是什么 我正在附加我的代码 但我对文本字段是否完整的验证不起作用 参见下面的代码 public class GUIaccounts
  • 运行 JAR 时“JCE 无法验证提供者 BC”

    在我的 scala 项目中我使用 org bouncycastle bcprov jdk14 1 51 用于密码学 如果它在 Scala IDE 中测试我的项目 它工作得很好 但是一旦我制作了一个 JAR 并尝试通过以下方式运行它java
  • 如何使用 itext 在 pdf 页脚上添加页码,它应该照顾其宽度?

    我的代码示例如下 Override public void onEndPage PdfWriter writer Document document addFooter writer private void addFooter PdfWr
  • 在 Eclipse Testrunner 中使用名称的 ParameterizedTest

    当您使用 Eclipse TestRunner 运行 JUnit 4 ParameterizedTest 时 图形表示相当愚蠢 对于每个测试 您都有一个名为 0 1 ETC 是否可以进行测试 0 1 等显式名称 实施一个toString测试

随机推荐

  • jquery淡出当前div,找到下一个div并淡入或找到最后一个并淡入

    我有一个名为 stage 的 div 类 它是问卷的一个阶段 div class stage div class next Next div div div class stage div class back Back div div c
  • 如何在目标c中获得该月的第n个星期日日期?

    如何在 Objective C 编码中获取第一个星期日或第 n 个星期日或星期一 任意一天 日期 例如 我只想每年在我的应用程序中显示友谊日的日期 但是 友谊是在八月的第一个星期日 所以 日期每年都会改变 在这里我需要找到每年八月的第一个星
  • 使用 .Net 3.5 程序集 SQL 2005 CLR?

    我有一个 CLR 存储过程 它引用在 VS 2008 中创建的使用 Linq 的程序集 我们将此程序集称为 MyLib 我似乎无法将 MyLib 放入我的 SQL 2005 数据库中 我执行以下操作 CREATE ASSEMBLY MyLi
  • 按创建日期对文件排序 - iOS

    我试图获取 i 目录中的所有文件并根据创建日期或修改日期对它们进行排序 那里有很多例子 但我无法让其中任何一个起作用 有人有一个很好的例子如何从按日期排序的目录中获取文件数组吗 这里有两个步骤 获取文件列表及其创建日期 并对它们进行排序 为
  • 使用 youtube API 获取频道的所有视频

    我想获取具有 ID 的单个频道的所有视频 我只获得频道信息的问题 这是我正在使用的链接 该链接适用于现已停用的 V2 API 因此它不会返回任何数据 相反 您需要使用 API 的 V3 您需要做的第一件事是注册 API 密钥 您可以通过在以
  • 在 OS X El Capitan 上将项目迁移到 Xcode 7.2 会破坏构建

    我之前使用 Xcode 7 1 运行 OS X Mavericks 我刚刚更新到 OS X El Capitan 和 Xcode 7 2 我的应用程序在模拟器和设备上正常启动 没有任何类型的故事板警告 现在 我看到一堆关于故事板中缺少约束的
  • 更改 RMarkdown 代码输出中错误消息的颜色(HTML、PDF)

    有没有办法在 R Markdown 中自动将错误的文本颜色设置为红色 而无需稍后手动编辑 HTML title Example 1 r e1 error TRUE 2 A Example 2 r e2 error TRUE 2 2 在上面的
  • 有没有办法更改 Visual Studio Code 的扩展文件夹位置?

    我已经安装了 Visual Studio CodeOneDrive https en wikipedia org wiki OneDrive 以便将其与我的设备上的设置同步 但是 扩展名存储在 USERPROFILE vscode exte
  • 将复选框数组从 js 发送到 django 视图

    我对如何通过 Ajax 或 Json 执行此操作感到困惑 但是如何将选择数组 curCheck 单击发送到 Django 视图并将其作为 python 数组接收 javascript document getElementById resu
  • 如何专注于 jasmine.js 中的一项规范?

    由于相当大的架构变化 我有一堆失败的规格 我想通过用 焦点 标记每个问题来一一修复它们 jasmine js有这样的功能吗 我发誓我曾经读到过它确实如此 但我在文档中没有看到它 使用 Karma 时 您只能启用一项测试fit or fdes
  • GWT DataGrid 中的延迟加载数据

    是否可以将数据延迟加载到 GWT DataGrid 中 类似于 GWT CellList 延迟加载数据的方式 我有一个 GWT DataGrid 它可能会带回数百行 但一次只显示大约 20 行 发生这种情况时 网格的加载速度相当慢 我想使用
  • 带有语义 UI 可见侧边栏的推送内容太宽

    当使用可见的语义 UI 侧边栏时 推送器中的内容太宽 它具有浏览器窗口的宽度 而不是可用空间的宽度 div class pushable div class ui left vertical inverted visible sidebar
  • $this->价值损失,好吧,它的价值

    我正在使用的 PHP 文件有问题 而且我似乎找不到解决方案 在代码的一部分中 值 this gt value已设置 并且根据我的测试该值设置正确 但是 稍后在相同的代码中 this gt value是空的 这是代码
  • Javascript Intellisense 未显示所有内容

    需要集思广益 我对 Javascript 库 jQuery ExtJS 等 有疑问 这些库似乎与 Visual Studio 2008 中内置的 Javascript Intellisense 不能很好地配合 它们提供了 Intellise
  • 如何从 HTML 中去除无关紧要的空白

    我必须比较不同版本的 HTML 页面的格式和文本更改 不幸的是 创建它们的人 公司使用某种 HTML 编辑器 每次都会重新包装所有 HTML 并添加大量空格 这使得很难区分它们 因此 我正在寻找一种工具 最好是 Java 库 它可以重新格式
  • 什么时候应该在 HTML4/HTML5 中使用 name 属性?

    通过阅读 HTML4 01 和 HTML5 的 W3C 文档 我知道 name 属性最初作为 a 标签允许人们链接到文档中的锚点 然而 现在所有主要浏览器供应商都允许通过 id 属性链接到文档中的任何 HTML 元素 name 属性还有实际
  • 无法在 WP7 应用程序中使用 System.Threading.Tasks

    我最近完成了一个在线存储网站的库 它允许我在文件存储网站和 Windows 桌面客户端 Outlook 插件之间调用 PHP 公开的 REST 现在 这是一个问题 其中包含库中最基本操作的代码示例 优雅地终止 TPL 任务 https st
  • 适用于图片和视频的 Android 相机

    我想在我的 Android 应用程序中启动相机活动 并且我知道该怎么做 我想问当相机活动结束时 如何检查是否是用户拍摄的照片或视频 UPDATED 我有一个对话框 它询问两件事 新照片或视频 现有照片或视频 如果没有的话 1 这意味着相机将
  • 单击链接或按钮时复制文本

    I am new to website development and try to figure out how can I make my user automatically copy a code in to his her mou
  • 如何删除 JMenu 或 JMenuItem 上的边框

    我正在使用 Eclipse Luna 和 Java 1 7 并尝试创建一个JPanel有一个JMenuBar This JMenuBar包含一个JMenu其中又包含一个JMenuItem 为了契合整体JMenuBar在我的项目视觉设计中 我