可能性の重複:
You must include the platform port before the LWUIT in the classpath runtime exceptionLWUITの前にプラットフォームパスをクラスパスに含める必要があります。このランタイム例外を解決するにはどうすればよいですか?
私はちょうど今、J2MEでLWUITの使用を開始しています。私はLWUITの知識はまだありませんが、私はより良いJ2MEを知っています。私はそれがうまくコンパイルしています、私のJ2MEのプロジェクトにLWUITのライブラリを追加したが、実行時には、例外の下に表示されます。
java.lang.RuntimeException: You must include the platform port before the LWUIT in the classpath
at com.sun.lwuit.impl.ImplementationFactory.createImplementation(ImplementationFactory.java:67)
at com.sun.lwuit.Display.init(Display.java:406)
at HelloMidlet.<init>(HelloMidlet.java:26)
at java.lang.Class.newInstance(), bci=0
at com.sun.midp.main.CldcMIDletLoader.newInstance(), bci=46
at com.sun.midp.midlet.MIDletStateHandler.createMIDlet(), bci=66
at com.sun.midp.midlet.MIDletStateHandler.createAndRegisterMIDlet(), bci=17
at com.sun.midp.midlet.MIDletStateHandler.startSuite(), bci=27
at com.sun.midp.main.AbstractMIDletSuiteLoader.startSuite(), bci=52
at com.sun.midp.main.CldcMIDletSuiteLoader.startSuite(), bci=8
at com.sun.midp.main.AbstractMIDletSuiteLoader.runMIDletSuite(), bci=161
at com.sun.midp.main.AppIsolateMIDletSuiteLoader.main(), bci=26
この問題を解決するためにどのように?
以下は私のコードです:
import com.sun.lwuit.*;
import com.sun.lwuit.animations.CommonTransitions;
import com.sun.lwuit.animations.Transition3D;
import com.sun.lwuit.events.*;
import com.sun.lwuit.layouts.BorderLayout;
import com.sun.lwuit.layouts.BoxLayout;
import com.sun.lwuit.plaf.UIManager;
import com.sun.lwuit.util.Resources;
import java.io.IOException;
public class HelloMidlet extends MIDlet implements ActionListener {
private Form form1;
private Form form2;
private Command cmdRotate = new Command("Rotate");
private Command cmdSlide = new Command("Slide");
private Command cmdExit = new Command("Exit");
public HelloMidlet(){
Display.init(this);
}
public void startApp() {
Resources r;
try{
r=Resources.open("/TimelineTheme.res");
UIManager.getInstance().setThemeProps(r.getTheme("LWUITDefault"));
}catch (IOException e) {
// TODO: handle exception
e.printStackTrace();
}
form1 = new Form("Form 1");
form1.setLayout(new BorderLayout());
form1.addComponent(BorderLayout.NORTH, new Label("My First Form"));
form1.addComponent(BorderLayout.WEST, new Label("WEST"));
form1.addComponent(BorderLayout.CENTER, new Label("CENTER"));
form1.addComponent(BorderLayout.EAST, new Label("EAST"));
form1.addComponent(BorderLayout.SOUTH, new Label("Click Rotate"));
form1.addCommand(cmdRotate);
form1.addCommand(cmdExit);
form1.addCommandListener(this);
form1.setTransitionInAnimator(CommonTransitions.createSlide(
CommonTransitions.SLIDE_HORIZONTAL, true, 1000));
//Setup Form 2
form2 = new Form("Form 2");
form2.setLayout(new BoxLayout(BoxLayout.Y_AXIS));
form2.addComponent(0,null,new Label("This is the second Form"));
form2.addCommand(cmdSlide);
form2.addCommand(cmdExit);
form2.addCommandListener(this);
form2.setTransitionInAnimator(Transition3D.createCube(1000, true));
form1.show();
}
public void pauseApp() {}
public void destroyApp(boolean unconditional) {}
public void actionPerformed(ActionEvent ae) {
if (ae.getCommand()==cmdExit) {
notifyDestroyed();
} else if (ae.getCommand()==cmdRotate) {
form2.show();
} else if (ae.getCommand()==cmdSlide) {
form1.show();
}
}
}
私はMidletコードが問題を解決するために必要ではないと思います。代わりに、あなたのproject.propertiesを投稿してください。具体的には、libs.classpathプロパティが役に立つかもしれません。 – mdelolmo