
Nachdem ich diesen Generator schon als Kommandozeilenprogramm schrieb, habe ich mich in TornadoFX ein-gesucht, denn leider gibt es dazu nicht viel Material für den Laien. Also musste zwischen den offiziellen Seiten, einigen Blogs und zig Fragen suchen, damit ich meinen Code in einer schicken UI ablaufen lassen konnte.
package com.example.demo.view
import javafx.beans.property.SimpleIntegerProperty
import javafx.beans.property.SimpleStringProperty
import tornadofx.*
class MainView : View() {
private val number = SimpleIntegerProperty()
private var result = SimpleStringProperty()
override val root = hbox {
hbox {
form {
fieldset {
text = "Dummy Account Generator"
field {
text = "How many?"
textfield().bind(number)
}
hbox {
spacing = 2.0
button {
text = "Generate"
action(::generate)
}
}
textarea {
bind(result)
}
}
}
}
}
private fun generate() {
var users = StringBuilder()
try {
for (x in 1.. number.get()) users.append("firstname" + x + ";lastname" + x+";email"+x+"@fake.it;" + passw()+"\n")
} catch (e: IllegalArgumentException){
result.value ="Input was not an integer. Try again."
}finally {
result.value = users.toString()
}
}
private fun passw(): String {
val chars = "01234567890123456789abcdefghijklmnopqrstuvwxyz.......______#######%%%%??????&&&&&&&ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var passWord = "";
for (i in 0..8) {
passWord += chars[Math.floor(Math.random() * chars.length).toInt()];
}
return passWord;
}
}