Câu hỏi đơn giản: Tôi có một đối tượng đơn lẻ mở rộng scala.swing.Panel
và tôi muốn nó phản ứng trên một cú nhấp chuột đơn giản. Nhưng ... tốt, nó không hoạt động. Vì ngôn ngữ mới của Scala như vậy, việc tìm kiếm thông tin cho các vấn đề cụ thể không dễ dàng như vậy. Có thể bạn có thể giúp:Các phản ứng Scala Swing trong Bảng điều khiển mở rộng
import scala.swing._
import scala.swing.event._
import java.awt.{Graphics2D, Color}
object GamePanel extends Panel {
val map: TileMap = new TileMap(10, 10)({
(x, y) =>
if (x == y) new Wood
else if (x == 5) new Water
else new Grass
})
reactions += {
case MouseClicked(src, pt, mod, clicks, pops) => {
selectedTile = (pt.x/map.tw, pt.y/map.th)
println("Clicked")
repaint
}
}
var selectedTile = (0, 0)
override def paint(g: Graphics2D) = {
map.draw(g)
g.setColor(Color.red)
g.drawRect(selectedTile._1 - 1, selectedTile._2 - 1, 33, 33)
}
}
Cảm ơn bạn đã lắng nghe.
Cảm ơn rất nhiều hoặc sự giúp đỡ của bạn! –