GUI component interaction: Difference between revisions

Fixed Kotlin example so that it compiles.
m (→‎{{header|FreeBasic}}: renamed header from FreeBasic to FreeBASIC)
(Fixed Kotlin example so that it compiles.)
Line 1,560:
{{trans|Java}}
 
<lang kotlinscala>import java.awt.GridLayout
import java.awt.event.ActionEvent
import java.awt.event.ActionListener
import java.awt.event.KeyEvent
import java.awt.event.KeyListener
import javax.swing.JFrame*
 
import java.lang.Long // jet.Long doesn't suit our needs here
import javax.swing.JButton
import javax.swing.JFrame
import javax.swing.JOptionPane
import javax.swing.JPanel
import javax.swing.JTextField
 
class Interact : JFrame() {
Line 1,577 ⟶ 1,571:
val incButton = JButton("Increment")
val randButton = JButton("Random")
val buttonPanel = JPanel();
 
init {
setDefaultCloseOperation(defaultCloseOperation = JFrame.EXIT_ON_CLOSE)
numberField.text setText= "0"
 
numberField .addKeyListener(object : KeyListener {
public override fun keyTyped(e : KeyEvent) : Unit ={
if (!Character.isDigit(e.getKeyChar()keyChar)) e.consume()
public override fun keyReleased(e : KeyEvent?) {}
public override fun keyPressedkeyReleased(e : KeyEvent?) {}
override fun keyPressed(e : KeyEvent) {}
});
 
incButton .addActionListener(object : ActionListener {
publicval overridenum fun= actionPerformed(enumberField.text ?: ActionEvent"").toDouble() {
numberField.text = val (num =+ Long1).parseLongtoString(numberField.getText() ?: "")
});
numberField setText (num + 1).toString()
}
});
 
randButton .addActionListener(object : ActionListener {
fun proceedOrNot() = JOptionPane.showConfirmDialog(randButton, "Are you sure?")
public override fun actionPerformed(e : ActionEvent) {
if(proceedOrNot() == JOptionPane.YES_OPTION)
numberField.text setText= Long.toString((Math.random() * Long.MAX_VALUE).toLongtoString())
}
});
 
setLayout(layout = GridLayout(2, 1))
buttonPanel.layout setLayout= GridLayout(1, 2)
buttonPanel .add (incButton)
buttonPanel .add (randButton)
add(numberField)
add(buttonPanel)
Line 1,616 ⟶ 1,609:
 
fun main(args : Array<String>) {
Interact().isVisible = setVisible(true)
}</lang>