如何在Scala Swing中使用actionlistener

如何在Scala Swing中使用actionlistener,scala,swing,Scala,Swing,我想在Scala Swing中创建单击计数器。我用于此ActionListener接口。但我不知道我是否做对了。该计划是可行的,但我想根据最佳实践找出如何做到这一点。我将非常感谢你给出了如何正确操作的答案 导入javax.swing_ 导入java.awt_ 导入java.awt.event_ 类UI扩展了JFrame{ var title:String=“您好,Scala中的Swing” setTitle(标题) val textArea=新的JTextArea var text:String

我想在Scala Swing中创建单击计数器。我用于此ActionListener接口。但我不知道我是否做对了。该计划是可行的,但我想根据最佳实践找出如何做到这一点。我将非常感谢你给出了如何正确操作的答案

导入javax.swing_ 导入java.awt_ 导入java.awt.event_ 类UI扩展了JFrame{ var title:String=“您好,Scala中的Swing” setTitle(标题) val textArea=新的JTextArea var text:String=“您好,Scala中的Swing world!” textArea.setText(文本) val scrollPane=new JScrollPane(textArea) val面板=新JPanel var text2:String=“单击此处” val按钮=新的JButton(text2) 面板。添加(按钮) 变量单击:Int=0 def onClick():单位={ 单击次数+=1 text=“按钮点击次数:”+点击次数.toString textArea.setText(文本) } addActionListener(新建ActionListener{ 重写def actionPerformed(e:ActionEvent):Unit=onClick()}) 添加(滚动窗格,BorderLayout.CENTER) 添加(面板,BorderLayout.SOUTH) setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) 设置尺寸(新尺寸(600400)) setLocationRelativeTo(空) def显示器(){ setVisible(真) } } 对象SwingExample扩展应用程序{ val用户界面=新用户界面 ui.display() println(“主功能结束”) }
有一些简单的事情可以提高代码质量和可维护性

似乎
text
text2
title\uu
可以删除该值并将其直接放入

若要缩短它,请对
onClick

def onClick():单位={
单击次数+=1
textArea.setText(s“按钮点击次数:$clicks”)
}

您可以通过以下方式缩短ActionListener

button.addActionListener(e=>onClick())

这类问题通常更适合你。看起来你是在按照他们在报告中列出的内容寻求帮助。