Я хотел бы сделать счетчик кликов в Scala Swing . Я использовал для этого интерфейса ActionListener. Но я не знаю, правильно ли я это сделал. Программа работает, но я хочу выяснить, как это сделать в соответствии с лучшими практиками. Буду очень благодарен за ответ как правильно это сделать.
import javax.swing._
import java.awt._
import java.awt.event._
class UI extends JFrame {
var title_ : String = "Hello, Swing in Scala"
setTitle(title_)
val textArea = new JTextArea
var text : String = "Hello, Swing world in Scala!"
textArea.setText(text)
val scrollPane = new JScrollPane(textArea)
val panel = new JPanel
var text2 : String = "Click Here"
val button =new JButton(text2)
panel.add(button)
var clicks:Int = 0
def onClick(): Unit = {
clicks += 1
text = "Number of button clicks: " + clicks.toString
textArea.setText(text)
}
button.addActionListener(new ActionListener {
override def actionPerformed(e: ActionEvent): Unit = onClick() })
getContentPane.add(scrollPane, BorderLayout.CENTER)
getContentPane.add(panel, BorderLayout.SOUTH)
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
setSize(new Dimension(600, 400))
setLocationRelativeTo(null)
def display() {
setVisible(true)
}
}
object SwingExample extends App {
val ui = new UI
ui.display()
println("End of main function")
}