Simple windowed application: Difference between revisions

Added Kotlin
(add)
(Added Kotlin)
Line 1,187:
}
}
}</lang>
 
=={{header|Kotlin}}==
{{trans|Java}}
<lang scala>// version 1.0.6
 
import java.awt.BorderLayout
import java.awt.event.ActionEvent
import java.awt.event.ActionListener
import javax.swing.JButton
import javax.swing.JFrame
import javax.swing.JLabel
 
class Clicks : JFrame(), ActionListener {
private var clicks = 0
private val label: JLabel
private val clicker: JButton
private var text: String
 
init {
text = "There have been no clicks yet"
label = JLabel(text)
clicker = JButton("click me")
clicker.addActionListener(this) // listen to the button
layout = BorderLayout() // handles placement of components
add(label, BorderLayout.CENTER) // add the label to the biggest section
add(clicker, BorderLayout.SOUTH) // put the button underneath it
setSize(300,200) // stretch out the window
defaultCloseOperation = EXIT_ON_CLOSE // stop the program on "X"
setVisible(true) // show it
}
 
override fun actionPerformed(arg0: ActionEvent) {
if(arg0.source == clicker) { // if they clicked the button
if (clicks == 0) text = "There has been " + (++clicks) + " click"
else text = "There have been " + (++clicks) + " clicks"
label.text = text // change the text
}
}
}
 
fun main(args: Array<String>) {
Clicks() // call the constructor where all the magic happens
}</lang>
 
9,490

edits