我一直在尝试 Tornadofx。尝试创建自定义标题栏,这是我目前正在尝试的代码
fun main(args: Array<String>) {
launch<MyApp>(args)
}
class MyApp : App(Title::class) {
override fun start(stage: Stage) {
stage.initStyle(StageStyle.UNDECORATED)
stage.minWidth = 600.0
stage.minHeight = 450.0
stage.isMaximized = false
super.start(stage)
}
}
class Title : View() {
private var xOffset = 0.0
private var yOffset = 0.0
private var screenBounds: Rectangle2D = Screen.getPrimary().visualBounds
private var originalBounds: Rectangle2D = Rectangle2D.EMPTY
init {
primaryStage.isMaximized = false
}
override val root = borderpane {
onMousePressed = EventHandler { ev ->
xOffset = primaryStage.x - …Run Code Online (Sandbox Code Playgroud) 我有一个元素的 ArrayList,我需要它来获取对的组合。
例如。[A, B, C]将被转换为[[A, B], [A, C], [B, C]]
我目前使用正常的方式来实现这一目标
for(i in 0 until arr.size-1)
for(j in i+1 until arr.size)
//do stuff with arr[i], arr[j]
Run Code Online (Sandbox Code Playgroud)
如果我需要两个以上元素的组合,我可能会编写一个递归函数来执行相同的操作。我担心的是,这种方法仍然是老式的,并且可能不像函数式 Kotlin 那样
有没有更好的方法来实现这一点,并且还可以组合更多数量的元素,而无需进行递归?