代号一个导航形式在另一个包中

时间:2019-05-25 13:58:48

标签: java codenameone

我正在使用典型代码在同一包中的表单之间导航。例如,表单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();

不起作用。

1 个答案:

答案 0 :(得分:2)

可以在import中指定程序包名称。按照您的示例,假设具有扩展Form类的此类:

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);
    }

}

如果要在另一个软件包中使用该类,则必须使用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(例如,当类名发生冲突时),则可以使用完全限定名来避免导入语句:

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/