maxresdefault 54

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)

Mover una imagen en Kotlin

Codigo: https://github.com/programadornovato/CursoKotlin/commit/ecf233047a5eb06b2b7ea925c8178330a0891141

Imagen en gif

https://github.com/programadornovato/CursoKotlin/blob/ecf233047a5eb06b2b7ea925c8178330a0891141/src/images/neko.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 >>

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

En Programador Novato vivimos de los anuncios, hemos detectado que está utilizando extensiones para bloquear anuncios. Ayudanos deshabilitando tu bloqueador de anuncios. :)