oktatas:programozas:kotlin:kotlin_swing
Tartalomjegyzék
Kotlin Swing
- Szerző: Sallai András
- Copyright © Sallai András, 2020
- Web: http://szit.hu
Helló világ
Ablak bezárása
Gomb
- ablak.kt
import javax.swing.* import java.awt.* fun main() { val ablak = JFrame("Helló Világ") val gomb = JButton("Kattints ide") gomb.bounds = Rectangle(20, 50, 130, 30) gomb.addActionListener { gomb.text = "Működik" } ablak.add(gomb) ablak.layout=null ablak.setSize(300, 200) ablak.defaultCloseOperation=JFrame.EXIT_ON_CLOSE ablak.setVisible(true) }
Osztály használata
Szálak
Ha több szállal dolgozunk, akkor problémák adódhatnak, amikor több szál nyúl ugyanahhoz a komponenshez. Az invokeLate() metódus, várakozási sorba rakja az ezeket a szálakat.
- ablak.kt
import javax.swing.*; class Ablak : JFrame() { init { defaultCloseOperation = JFrame.EXIT_ON_CLOSE setSize(300, 200) } } fun main() { val ablak = Ablak() SwingUtilities.invokeLater { ablak.setVisible(true) } }
Másik megoldás:
- ablak.kt
import javax.swing.*; import java.awt.EventQueue; class Ablak : JFrame() { init { defaultCloseOperation = JFrame.EXIT_ON_CLOSE setSize(300, 200) } } fun main() { val ablak = Ablak() EventQueue.invokeLater { ablak.setVisible(true) } }
Harmadik példa:
- ablak.kt
import javax.swing.*; import java.awt.EventQueue; class Ablak : JFrame() { init { defaultCloseOperation = JFrame.EXIT_ON_CLOSE setSize(300, 200) } } private fun showGui() { val ablak = Ablak() ablak.setVisible(true) } fun main() { EventQueue.invokeLater(::showGui) }
oktatas/programozas/kotlin/kotlin_swing.txt · Utolsó módosítás: 2020/06/06 08:50 szerkesztette: admin