Eclipse can not find the main class in JFace?

advertisements

I'm working though a book SWT/JFace IN ACTION by Manning Press.

When I added JFace, Eclipse for some reason could not find the main class though it is plainly present.

Here is the code

package com.swtjface.ChTwo;

import org.eclipse.jface.window.*;
import org.eclipse.swt.*;
import org.eclipse.swt.widgets.*;

public class HelloSWT_JFace extends ApplicationWindow{

/**
 * @param args
 */
public HelloSWT_JFace(){
    super(null);
}
protected Control createContents(Composite parent){
    Text helloText = new Text(parent, SWT.CENTER);
    helloText.setText("Hello SWT and JFace!");
    parent.pack();
    return parent;
}
public static void main(String[] args) {
    // TODO Auto-generated method stub
    HelloSWT_JFace awin = new HelloSWT_JFace();
    awin.setBlockOnOpen(true);
    awin.open();
    Display.getCurrent().dispose();
}

 }

The reject message I get from Eclipse is...

Could not find the main class: com.swtjface.ChTwo.HelloSWT_JFace.
Program will exit.

Here is the exception...

java.lang.NoClassDefFoundError: org/eclipse/core/runtime/IProgressMonitor
Caused by: java.lang.ClassNotFoundException: org.eclipse.core.runtime.IProgressMonitor
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Exception in thread "main"


You need at least 2 more jars to use JFace:

  • org.eclipse.equinox.common
  • org.eclipse.core.commands

See Using JFace outside the Eclipse platform for more details.