java - 我有 main 但 java 命令不工作

标签 java swing

我知道 Java 需要 main 函数,而我有一个。这段代码编译没有错误(这段代码是设计模式书的源代码),但是当我执行时

D:\ java SwingObserverExample 
Error: Could not find or load main class SwingObserverExample

这里是源代码:

package headfirst.designpatterns.observer.swing;

import java.awt.*;
import javax.swing.*;

public class SwingObserverExample{
    JFrame frame;

public static void main(String[] args) {
    SwingObserverExample example = new SwingObserverExample();
    example.go();
}

public void go() {
    frame = new JFrame();

    JButton button = new JButton("Should I do it?");

    // Without lambdas
    //button.addActionListener(new AngelListener());
    //button.addActionListener(new DevilListener());

    // With lambdas
    button.addActionListener(event -> 
        System.out.println("Don't do it, you might regret it!")
    );
    button.addActionListener(event ->
        System.out.println("Come on, do it!")
    );
    frame.getContentPane().add(BorderLayout.CENTER, button);

    // Set frame properties 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().add(BorderLayout.CENTER, button);
    frame.setSize(300,300);
    frame.setVisible(true);
}

/*
 * Remove these two inner classes to use lambda expressions instead.
 * 
class AngelListener implements ActionListener {
    public void actionPerformed(ActionEvent event) {
        System.out.println("Don't do it, you might regret it!");
    }
}

class DevilListener implements ActionListener {
    public void actionPerformed(ActionEvent event) {
        System.out.println("Come on, do it!");
    }
}
*/

为什么java找不到这个程序的主类?

我的 java 文件的目录是 D:\workplace\Head-First-Design-Patterns-master\Head-First-Design-Patterns-master\src\headfirst\designpatterns\observer\swing 然后我从那里运行 java 命令。

最佳答案

在运行命令中包含包名

java headfirst.designpatterns.observer.swing.SwingObserverExample

Java 还希望在相对于当前位置的目录 headfirst\designpatterns\observer\swing 中找到该类以匹配包名称,因此从中运行应用程序

D:\workplace\Head-First-Design-Patterns-master\Head-First-Design-Patterns-maste‌​‌​r\src

关于java - 我有 main 但 java 命令不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29218610/

相关文章:

java - 高负载下 Groovy Shell 解释器中的锁争用

java - 为什么我的应用会发出 Unsupported URI content 错误?

java - 如何提取下面的数据并显示在另一个文件中

java - Jtable 没有显示?

java - 消除面板上复选框之间的巨大差距

java - 所有 Activity 中都可用的选项菜单

java - 在不使用 HashMap 的情况下查找排序的 ArrayList 中最常见的字符串

java - 当使用scrollRectToVisible()时,需要调用两次才能正确固定位置。怎么修?

java - 如何不断更新 ActionListener 中的 JLabel?

java - 为什么JProgressBar值不刷新?