Codename one-Navigate 表单在不同的包中

Codename one-Navigate form in a different package

我正在使用典型代码在同一包中的表单之间导航。例如,形式 tutorial.java

 Form Tutorials = new Tutorials();           
    Tutorials.getToolbar().setBackCommand(back);
    Tutorials.setBackCommand(back);
    Tutorials.show();

但是,如果我使用其他 java 表单创建另一个包,我该如何导航到它们? 假设 folder1/form1.java

Form folder1/form1 = new folder1/form1();           
        folder1/form1.getToolbar().setBackCommand(back);
        folder1/form1.setBackCommand(back);
        folder1/form1.show();

不工作。

包名可以在import中指定。按照你的例子,假设这个 class 扩展了 Form class:

package net.informaticalibera.tests.folder1;

import com.codename1.ui.Form;
import com.codename1.ui.layouts.Layout;

public class Form1 extends Form{

    public Form1() {
    }

    public Form1(Layout contentPaneLayout) {
        super(contentPaneLayout);
    }

    public Form1(String title) {
        super(title);
    }

    public Form1(String title, Layout contentPaneLayout) {
        super(title, contentPaneLayout);
    }

}

如果你想在另一个包中使用 class,你必须使用 import。例如:

import net.informaticalibera.tests.folder1.Form1;

public class YourClass {

    [your other code]
    Form form1 = new Form1("Hi World", BoxLayout.y());
    form1.add(new Label("Hi World"));
    form1.show();

}

通常 IDE 允许自动插入导入。

或者,如果您有任何理由不使用 import(例如当发生 class 名称冲突时),您可以使用完全限定名称来避免导入语句:

Form form1 = new net.informaticalibera.tests.folder1.Form1("Hi World", BoxLayout.y());
form1.add(new Label("Hi World"));
form1.show();

详细解释:https://beginnersbook.com/2013/03/packages-in-java/