Mover una imagen en Kotlin (Java)🐈 (Curso de Kotlin desde cero [92])
En este ejercicio vamos a mover una imagen en Kotlin dentro de nuestra ventana siguiendo estos pasos.
- Crear un proyecto de kotlin en intellij.
- Creamos una etiqueta que va a recibir una gif.
- Creamos un botón con un evento click que:
- Activará un Timer cambiar la localización de la imagen en X.
- Si la posición llega al límite de la ventana se detiene.
🔗 Librerias de Java swing: https://es.wikipedia.org/wiki/Swing_(biblioteca_gr%C3%A1fica)
Codigo: https://github.com/programadornovato/CursoKotlin/commit/ecf233047a5eb06b2b7ea925c8178330a0891141
Imagen en gif
import java.awt.Color
import java.awt.Dimension
import java.awt.Image
import java.awt.event.ActionListener
import java.awt.event.MouseEvent
import java.awt.event.MouseListener
import javax.swing.*
class Ventana ():JFrame(){
var contenedor=JPanel()
var etiqueta=JLabel()
init {
var d=Dimension(1000,350)
this.size=d
defaultCloseOperation=WindowConstants.EXIT_ON_CLOSE
contenedor.background= Color.white
this.contentPane.add(contenedor)
contenedor.layout=null
var logo=ImageIcon("src/images/neko.gif")
var logoMin=ImageIcon(logo.image.getScaledInstance(300,200, Image.SCALE_DEFAULT))
etiqueta.icon=logoMin
etiqueta.setBounds(10,90,400,300)
contenedor.add(etiqueta)
boton()
}
fun boton(){
var boton=JButton("Inicia")
var i=0
var l:MouseListener=object:MouseListener{
override fun mouseClicked(e: MouseEvent?) {
val timer = Timer(40, ActionListener {
etiqueta.setLocation(i,90)
repaint()
i=i+10
if(i>=800){
i=800
}
println("i=$i")
})
timer.isRepeats = true
timer.isCoalesce = true
timer.start()
}
override fun mouseEntered(e: MouseEvent?) {
}
override fun mouseExited(e: MouseEvent?) {
}
override fun mousePressed(e: MouseEvent?) {
}
override fun mouseReleased(e: MouseEvent?) {
}
}
boton.setBounds(10,5,100,20)
contenedor.add(boton)
boton.addMouseListener(l)
}
}
🎦 Lista de reproducción de este curso: https://www.youtube.com/playlist?list=PLCTD_CpMeEKSjzbsW_zmVNz23GyOVsdbS
🎦 [Curso] Java Netbeans Completo☕: https://www.youtube.com/playlist?list=PLCTD_CpMeEKTT-qEHGqZH3fkBgXH4GOTF
🎦 [CURSO] PYTHON PARA PRINCIPIANTES🐍: https://www.youtube.com/playlist?list=PLCTD_CpMeEKRppvi86Dy8CPYZ8-XzN2qu
🔗 Facebook: https://facebook.com/ProgramadorNovatoOficial
🔗 Twitter: https://twitter.com/programadornova
🔗 Linkedin: https://www.linkedin.com/in/programadornovato/
🔗 Instagram: https://www.instagram.com/programadornovato/
🔗 Pagina oficial: https://www.programadornovato.com
🔗 Gracias por apoyar este canal: https://www.patreon.com/programadornovato
🎦 Canal de youtube: https://www.youtube.com/c/programadornovato
<<Anterior tutorial Siguiente tutorial >>