加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

ScalaFX Button =>如何定义动作?

发布时间:2020-12-16 18:17:21 所属栏目:安全 来源:网络整理
导读:我正在尝试为 scalafx中的Button完成onAction accion,但我不能让它工作. package App.Desktopimport javafx.event.EventHandlerimport scalafx.event.ActionEventimport scalafx.scene.control.Buttonclass Window() { btn_YES.onAction = (event: ActionEve
我正在尝试为 scalafx中的Button完成onAction accion,但我不能让它工作.

package App.Desktop

import javafx.event.EventHandler

import scalafx.event.ActionEvent

import scalafx.scene.control.Button

class Window() {

  btn_YES.onAction = (event: ActionEvent) => 
   new EventHandler[ActionEvent] {
     override def handle(event: ActionEvent) {
        /*Do something*/
      }
    }
  }
}

我做到了这一点,但是我收到了一个错误

Error: type mismatch;
 found   : scalafx.event.ActionEvent => javafx.event.EventHandler[scalafx.event.ActionEvent]
 required: javafx.event.EventHandler[javafx.event.ActionEvent]
  btn_YES.onAction = (event: ActionEvent) => new EventHandler[ActionEvent]

我也尝试使用javafx.event.ActionEvent而不是scalafx,但它也不起作用.

任何线索?

谢谢

解决方法

我不是Scala程序员,但看起来你在这里混合了两种不同的形式:一个lambda表达式和一个显式类.

尝试

package App.Desktop

import javafx.event.EventHandler

import javafx.event.ActionEvent

import scalafx.scene.control.Button

class Window() {

    btn_YES.onAction = 
        new EventHandler[ActionEvent] {
            override def handle(event: ActionEvent) {
                /*Do something*/
            }
        }

}

要么

package App.Desktop

import javafx.event.EventHandler

import javafx.event.ActionEvent

import scalafx.scene.control.Button

class Window() {

  btn_YES.onAction = (event: ActionEvent) =>  {
        /*Do something*/
  }

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读