Codename One - 行动事件

时间:2014-03-01 21:45:34

标签: codenameone

在Codename One项目中,说我在NetBeans上创建的项目“PRJ1”, 我定义了一个不应该作为Action事件的文件。

具体来说,在编辑“theme.res”的设计器界面中 (我正在使用最新版本的NetBeans& Codename One),我右键单击 一个按钮,然后在下拉菜单中的事件 - >输入了动作事件 一个.jar文件。

从那以后,我收到了错误:

Error opening Netbeans.java.IOException: Cannot run program "..\MyApp.jar" CreateProcess error=193, %1 is not a valid Win32 application 

每当我接近事件时。

我删除了PRJ1并从头开始创建PRJ2。 当我试图定义一个动作事件 再次以同样的方式,我在单击Action事件或任何其他事件后立即在弹出窗口中出现相同的错误。我有同样的事情 当我在新项目上定义新组件时。 “MyApp.jar”似乎一直停留在我的Codename One上。我无法摆脱它。

我的问题是:

如何在不使用设计器界面的情况下仅在源代码上定义操作?

当我使用设计器界面定义动作事件时, 这是如何进入代码的?我在StateMachine.java中看到了添加的方法。 从我所看到的,就源代码而言,这就是全部。在.xml或其他confign文件中是否还有其他任何变化?我手动搜索项目目录中的文件。在任何地方都没有MyApp.jar的痕迹。

提前致谢。

我是Codename One的新手。这可能是一个简单的Q,但却耗费了我很多时间。

3 个答案:

答案 0 :(得分:1)

您需要启动设计器,单击File-> Setup NetBeans并从NetBeans bin目录中选择netbeans.exe / .app.sh文件,以便设计人员可以触发NetBeans。

您可以在向导中创建一个手动编码的应用程序(底部的第二个选项),其中设计器仅用于主题而不是GUI。您可以像处理任何组件上的Swing / AWT addActionListner等一样处理事件。

答案 1 :(得分:1)

我遇到了同样的问题。我假设当您更改安装的默认目录(我一直在做的事情)时会发生这种情况

首先,您应该重置您的设置。在GUI编辑器中,转到“代码”编辑器中。 - >高级 - >重置netbean设置。

下次收到文件对话框,找到并选择netbeans.exe(或netbeans64.exe)。

要回答有关如何避免使用GUI编辑器的特定问题,可以在StateMachine.java文件中手动添加事件处理程序代码。像这样:

  @Override
    protected void onMain_Button1Action(Component c, ActionEvent event) {
        //do stuff        
    }

只需使用按钮或组件的正确名称,而不是Button1。

答案 2 :(得分:0)

使用代码定义动作事件完全的正确方法如下:

如果在GUI构建器中定义了按钮:

Button btn = findMyButton(form);
btn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent evt) {
            // do something
        }
});

要在代码中定义按钮:

Button btn = new Button('my button');
btn.addActionListener(new ActionListener() {
    ...as above
});