Tag: Java

我可以使用Java Scripting API作为脚本运行kotlin吗?

我想运行Kotlin代码作为脚本从Java与Java脚本API类似于这样的javascript: import javax.script.*; public class EvalScript { public static void main(String[] args) throws Exception { // create a script engine manager ScriptEngineManager factory = new ScriptEngineManager(); // create a JavaScript engine ScriptEngine engine = factory.getEngineByName(“JavaScript”); // evaluate JavaScript code from String engine.eval(“print(‘Hello, World’)”); } } 或类似的API这样的。

编写JS和Java的代码

我正在尝试编写一个代码模块,可以用于JavaScript的客户端浏览器和Kotlin的Java桌面应用程序和Android应用程序。 主要的逻辑操纵一个位图/ PNG文件。 有没有一种方法可以编写一个可以使用的接口,并为JS和Kotlin提供不同的接口实现? 例如,用Java(使用BufferedImage)和JS(使用Canvas)为图像编写包装类(从图像加载,设置像素,获取像素)? 我在这里是新的,所以如果有什么不合理或需要更多的澄清,请让我知道!

你如何在Kotlin中实现JavaFX ZoomEvent?

我参与了一个名为“Path Visualizer”的应用程序,它与JavaFXcanvas一起工作。 我对JavaFX很新,并且已经遍布互联网寻找解决这个问题的答案。 我的短期目标是允许跟踪板的缩放function。 这是我的代码片段,不包括主要的方法(注意:你可以在我实现缩放方法之前忽略代码,我只是想包括它,因为它可能是有帮助的): override fun start(stage: Stage) { stage.title = “Path Visualizer” // set up the paths and autos selectedAutonomous = Autonomous(“Auto1”) mapAutonomous.put(selectedAutonomous!!.name, selectedAutonomous!!) selectedPath = DefaultPath selectedAutonomous!!.putPath(selectedPath!!.name, selectedPath!!) // setup the layout val buttonsBox = VBox() buttonsBox.spacing = 10.0 addControlsToButtonsBox(buttonsBox) val stackPane = StackPane(canvas) val splitPane = SplitPane(stackPane, buttonsBox) splitPane.setDividerPositions(0.7) stage.scene = […]

isInitialized – lateinit var的备份字段在此处不可访问

我试图检查一个lateinit属性是否已经初始化。 在Kotlin 1.2中,我们现在有了isInitialized方法。 当我在声明了lateinit属性的类中这样做的时候,它就起作用了。 但是,当我尝试从另一个class级调用这个时,我收到以下警告: 此处不能访问’lateinit var foo:Bar’的备份字段 我的模型类(比方说Person )是用Java编写的 另外两个类(比如说Test1和Test2 )是用Kotlin编写的 例: class Test1 { lateinit var person: Person fun method() { if (::person.isInitialized) { // This works } } } – class Test2 { lateinit var test1: Test1 fun method() { if (test1::person.isInitialized) { // Error } } } 有机会得到这个工作? 我目前的解决方法是在Test1中创建一个从person属性返回isInitialized的方法。 fun isPersonInitialized(): […]

Android:片段上的按钮

嗨,我刚刚开始与Kotlin的Android应用程序有一个小问题,我的应用程序 当我尝试使用OnclickListener时,我的应用程序崩溃 我的代码 class fr_cooking : Fragment() { override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? { button.setOnClickListener({ textView2.text = “blablabla” }) return inflater!!.inflate(R.layout.fragment_fr_cooking, container, false) } }

找不到类“kotlin.jvm.internal.DefaultConstructorMarker”

我目前正在使用Kotlin编码的Android应用程序。 一切都很好,直到昨天,在某些时候我开始在logcat中有这个错误,当这种情况发生时,应用程序的内容不显示。 以下是详细的描述: 11-23 17:08:40.819 10472-10472/ch.XXX.XXX W/dalvikvm: DexOpt: resolve class illegal access: Lch/XXX/XXX/commons/features/CouponsManager; -> Lkotlin/jvm/internal/DefaultConstructorMarker; 11-23 17:08:40.819 10472-10472/ch.XXX.XXX E/dalvikvm: Could not find class ‘kotlin.jvm.internal.DefaultConstructorMarker’, referenced from method ch.XXX.XXX.commons.features.CouponsManager. 11-23 17:08:40.819 10472-10472/ch.XXX.XXX W/dalvikvm: VFY: unable to resolve check-cast 3145 (Lkotlin/jvm/internal/DefaultConstructorMarker;) in Lch/XXX/XXX/commons/features/CouponsManager; 11-23 17:08:40.819 10472-10472/ch.XXX.XXX W/dalvikvm: DexOpt: resolve class illegal access: Lch/XXX/XXX/commons/features/CouponsManager; -> Lkotlin/jvm/internal/DefaultConstructorMarker; 被引用的类是在Kotlin中编写的,在错误开始出现之前未被修改。 编辑 […]

平滑地改变一个JavaFX效果

是否有可能在JavaFX中顺利地改变效果? 我已经尝试了很多选择,但没有任何工作。 例如 – Java: void effectChange(Node node) { // Node Effect = ColorAdjust (0.0, 0.0, 0.0, 0.0) KeyValue keyValue = new KeyValue(node.effectProperty(), new ColorAdjust(-0.8, 0.0, 0.0, 0.0)); KeyFrame keyFrame = new KeyFrame(Duration.seconds(2.0), keyValue); Timeline timeline = new Timeline(keyFrame); timeline.play(); } 例如 – Kotlin: fun effectChange(node: Node) { // Node Effect = ColorAdjust (0.0, 0.0, […]

.class文件在哪里?

我真的不确定我是否明白当你写Kotlin代码时会发生什么。 我只写了一些,我看到Eclipse指向我的项目的构建文件夹,即我的项目的bin文件夹没有任何.class文件。 它只有.kt Kotlin源文件。 那是什么意思? 这种语言是动态编译的吗? 是否解释? 如何为我的项目设置%CLASSPATH%?

Spring Boot将文本/ JavaScript序列化为JSON

我创建了以下Kotlin数据类: @JsonInclude(JsonInclude.Include.NON_NULL) public data class ITunesArtist(val artistName: String, val artistId: Long, val artistLinkUrl: URL) (一个数据类是一个Kotlin类,可以在编译时自动生成equals,hashcode,toString等 – 节省时间)。 现在我试着使用Spring RestTemplate填充它: @Test fun loadArtist() { val restTemplate = RestTemplate() val artist = restTemplate.getForObject( “https://itunes.apple.com/search?term=howlin+wolf&entity=allArtist&limit=1”, ITunesQueryResults::class.java); println(“Got artist: $artist”) } 它失败: Could not extract response: no suitable HttpMessageConverter found for response type [class vampr.api.service.authorization.facebook.ITunesArtist] and content type [text/javascript;charset=utf-8] […]

Kotlin / Java – 测试数据库数据提供的REST API

我试图测试一个连接到我的数据库,并试图配置一个模拟数据库。 我只是不知道如何。 如何使用任何测试框架来模拟数据库并测试我的方法(如下所示) getUserById ? 由于这是使用原始jdbc,我怎样才能覆盖这个getConnection()方法使用模拟数据库,而不是真正的? 还是不是这样的路? 我还没有测试过API的数据库连接/输出,所以我不知道从哪里开始。 这是我的jdbc类: import java.sql.Connection import java.sql.DriverManager import java.sql.ResultSet import java.sql.Statement import java.util.ArrayList import java.util.Properties import bye.domain.* class jdbcTrial { val url: String = “jdbc:postgresql://196.21.2.12:5432/events” //val props: Properties = Properties(); val DB_DRIVER = “org.postgresql.Driver”; // used for getting the comments fun getUserById(id: Int): User { val query = “select […]