我有一个带有Swing GUI的应用程序,我想在菜单栏中添加一个带有搜索按钮(lupe图标)的搜索字段。但是,卢佩图标不会显示。下面是我的代码:
public class Ui_Frame {
public static void main(String[] args) {
SwingUtilities.invokeLater(Ui_Frame::createAndShowGUI);
}
private static void createAndShowGUI() {
f = new JFrame("Myframe");
...
JMenuBar menubar = new JMenuBar();
Icon lupeIcon = new ImageIcon("Resources/lupe_icon.png");
JButton j_searchButton = new JButton(lupeIcon);
menubar.add(j_searchButton);
...
f.setJMenuBar(menubar);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
f.setVisible(true);
我的项目结构就像
Project
Src
Ui_Frame.java
Resources
lupe_icon.png
结果按钮不显示任何图标:
import javax.swing.*;
public class test {
private static JFrame f;
public static void main(String[] args) {
SwingUtilities.invokeLater(test::createAndShowGUI);
}
private static void createAndShowGUI() {
f = new JFrame("Test");
JMenuBar menubar = new JMenuBar();
Icon lupeIcon = new ImageIcon(test.class.getResource("/Resources/lupe_icon.png"));
JButton j_searchButton = new JButton(lupeIcon);
menubar.add(j_searchButton);
f.setJMenuBar(menubar);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
f.setSize(500,500);
f.setVisible(true);
}
}
正如您所看到的,我现在正在用Class.GetResource(...)加载图像正如@AndrewThompson和@SergiyMedVynskyy所建议的,但这并不能解决问题。我还被告知我的类不应该是静态的,但是由于我的Main需要是静态的,我才能运行程序,并且我被告知我应该用SwingUtilities.Invokelater(Test::createAndShowGUI);
启动UI,这也强制createAndShowGUI()是静态的,所以我不知道如何使它不是静态的。
对我来说,它可以在路径中不提及文件夹“resources”,如下所示:
Icon lupeIcon = new ImageIcon(test.class.getResource("/lupe_icon.png"));
但是,我不确定您的项目结构是否正确。
如果仍然不起作用,试着用小'r'重命名文件夹,也许还可以更改项目结构,这是我的结构:
你好 由于某些原因,该图标从未显示在操作栏上,我使用了ifRoom |与text的组合,但仍然没有显示。我也尝试过在风景中旋转。我正在使用genymotion 4.4.2 我正在膨胀菜单中的一个片段: 我在纵向和横向模式下尝试了硬件nexus5,但没有图标。 我也尝试过使用以下方法,但也不起作用: 非常感谢任何建议,
我已经在我的 JFrame 中添加了一个自定义 JPane 和一个自定义 JMenuBar。JPane显示得很好,但JMenuBar不是。我已经在不同的类中定义了框架和菜单栏 下面是frame类:public类pixel frame {//这个框架将保存用于艺术创作的a pixelPane。这也将包含一个菜单栏,在另一个文件中定义。pixelPane编辑区域;pixelMenuBar菜单栏;pub
我的问题是一个热门问题,我阅读并尝试了很多相关帖子,但我没有实现预期的结果,显示菜单。我还没有找到正确的解决方案。 我的应用程序可以在Android 4 . 2 . 2版本上完美运行。(版本代码17)我在Galaxy Duos手机上试用过。 我使用Android版本7,0(版本代码24)我尝试了更多目标SDK版本的变体,具有8,19,24,25并且没有目标SDK规范。 以下是一些相关的部分 -盖德
如何在运行时更改程序任务栏按钮右键单击上下文菜单中的标题?我是说这里用红色圈起来的文字。 标题似乎取自程序集标题。我需要在运行时从代码中动态更改标题。我有一个EXE,用户把它看作是许多不同的应用程序--它在运行时读取数据文件,然后大规模地自定义它的外观,包括窗口标题。我还需要自定义这个右键菜单中的标题。没有一个字幕能涵盖所有的内容。如果有必要,我愿意考虑对Windows API的p/invoke调
顶部菜单栏中,设有文件、快捷代码、资源、工具、项目、视图和帮助控件,具体说明如下。 名称 说明 文件 可以控制新建项目、新建文件、保存和运行。文件支持.js、.css、.html和.json格式。 快捷代码 可直接将所需代码添加到所编辑的项目文件(光标所在位置)中。 资源 可打开工具栏中的相应面板,将提供的模型、园区、地图等资源加载到项目文件中。还可以查看并设置我的项目、我的园区和我的地图。参阅资