java - JFrame 在 .jar 文件中时不运行

标签 java swing

下学期,我将在我的大学学习 Java Swing 图形用户界面简介,作者是 Paul Fischer。在本书的开头,他展示了如何创建 JFrame。我制作了两个文件,FrameEx.java 和 test.java 用于测试。

通过运行 test.java,JFrame(窗口)按需要出现在屏幕上。这是我使用的代码。

FrameEx.java:

package FrameEx;

import javax.swing.JFrame;

public class FrameEx extends JFrame {

  public FrameEx() {
    this.setSize(256, 128);
    this.setLocation(256, 128);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setTitle("Test");
    this.setVisible(true);
  }
}

测试.java:

package FrameEx;

public class test {
  public static void main(String[] args) {

    FrameEx window = new FrameEx();

  }
}

但是当我创建包含以下内容的 FrameEx.mf 文件时:

Manifest-Version: 1.0
Main-Class: test

然后转到命令提示符并执行:

jar cmf FrameEx.mf FrameEx.jar FrameEx.class test.class

.jar 文件已创建,但当我运行它时没有任何反应,屏幕上没有 JFrame。我做错了什么?

最佳答案

主类必须是类的全限定名。这意味着您应该使用 FrameEx.test 而不是简单的 test

Application Entry Points Tutorial

关于java - JFrame 在 .jar 文件中时不运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20532051/

相关文章:

java - 使用 Espresso 测试时未在 <package> 中找到测试

java - 如何处理使用 Selenium Webdriver 的提示警报

java - While 循环而不破坏先前的引用

java - JFrame (swing) 用按钮切换重复 Action

java - 将数据返回给调用者的模态 JInternalFrame

java - 基于 MVC 的 GUI 中模型之间的通信

java - 微软 Azure 和 Glassfish

java - 如何将按钮添加到 JxTable?

java - 无法在 OSX 上的 Swing 中显示图像

java - JPanel 如何创建实例/对象