Java 如何命名应用程序并给它一个图标?

Java 如何命名应用程序并给它一个图标?,java,eclipse,macos,tags,icons,Java,Eclipse,Macos,Tags,Icons,我在eclipse中工作,我制作了一个没有名字和图标的应用程序。当我启动应用程序时,它的左上角(Mac)会显示一个令人毛骨悚然的名字。是这样的。我想知道我怎样才能把这个改成我自己的名字。第二个问题是如何更改图标。我可以在eclipse中这样做吗?如果您使用的是JFrames,可以尝试如下设置图标图像 frame.setIconImage(img); 此外,名字听起来有点像你指的是框架的标题。创建框架时,可以按如下方式设置标题: Frame frame = new JFrame("Title

我在eclipse中工作,我制作了一个没有名字和图标的应用程序。当我启动应用程序时,它的左上角(Mac)会显示一个令人毛骨悚然的名字。是这样的。我想知道我怎样才能把这个改成我自己的名字。第二个问题是如何更改图标。我可以在eclipse中这样做吗?

如果您使用的是JFrames,可以尝试如下设置图标图像

frame.setIconImage(img); 
此外,名字听起来有点像你指的是框架的标题。创建框架时,可以按如下方式设置标题:

Frame frame = new JFrame("Title goes here");
更改名称:

要更改图标,请执行以下操作:


它已经在stackoverflow,请在发布前检查您的答案是否在这里

首选的方法是创建一个(和),但是如果这看起来需要做很多工作,您可以提供自定义属性,例如,您可以在运行应用程序时提供
Xdock:name
属性,例如

-DXdock:name="Application Name"
public static void main(String[] args) {
    try {
        // Sets the application name on the menu bar
        System.setProperty("Xdock:name", "Application Name");

        // Set the applications dock icon...
        Application application = Application.getApplication();            
        application.setDockIconImage(ImageIO.read(TestDockIcon.class.getResource("/Icon.png")));

        // Start the application...
        new TestDockIcon();
    } catch (IOException exp) {
        exp.printStackTrace();
    }
}
如果您不能这样做,您可以在应用程序运行时设置它,例如

-DXdock:name="Application Name"
public static void main(String[] args) {
    try {
        // Sets the application name on the menu bar
        System.setProperty("Xdock:name", "Application Name");

        // Set the applications dock icon...
        Application application = Application.getApplication();            
        application.setDockIconImage(ImageIO.read(TestDockIcon.class.getResource("/Icon.png")));

        // Start the application...
        new TestDockIcon();
    } catch (IOException exp) {
        exp.printStackTrace();
    }
}

你能发布一张你所说内容的截图吗?你是说JFrame的图标吗?罐子的图标?还有什么?应用程序的图标,或者.jar。由于某些原因,我无法上传图片。基本上,您可以创建一个应用程序包,如所述,或者,如果您可以找到一些文档,请使用com.apple.eawt.Application API。但是文件很简单…不。。。当我把它导出并启动它时,它有一个疯狂的名字。愚蠢的问题…这有什么关系?