maxresdefault

Campo de texto en Kotlin (JTextField) (Curso de Kotlin desde cero [82])

En este tutorial vamos a crear un campo de texto en Kotlin (JTextField) y jugaremos con sus propiedades como el texto, las columnas, color de fondo tipo de fuente y color de texto.

  • Crear un campo de texto con 20 letras y colocarle una fuente.
  • Crear otro campo con 20 letras pero con una fuente más grande.
  • Cambiar el layout de nuestro contenedor de absoluto a relativo.
  • Agregar background y foreground a nuestro JTextField.

🔗 Librerias de Java swing: https://es.wikipedia.org/wiki/Swing_(biblioteca_gr%C3%A1fica)

Campo de texto en Kotlin

Codigo: https://github.com/programadornovato/CursoKotlin/commit/74ccd31f486da33d3537adfd9821fa6e9aec8f18

import java.awt.*
import java.awt.event.KeyEvent
import javax.swing.*

class Ventana(titulo:String?):JFrame(titulo){
    var panel=ArrayList<JPanel>()
    var etiqueta=ArrayList<JLabel>()
    var num=4
    var botonSwing:JButton?=null
    var botonAWT:Button?=null
    var contenedor=JPanel()
    var radioBoton=ArrayList<JRadioButton>()
    init {
        //num=JOptionPane.showInputDialog("Humano ingresa la cantidad de paneles").toInt()
        var d=Dimension(num*150,500)
        this.size=d
        defaultCloseOperation=WindowConstants.EXIT_ON_CLOSE
        this.contentPane.add(contenedor)
        //contenedor.layout=null
        //this.setLocation(500,500)
        //agregarPanel()
        //agregarEtiquetas()
        //agregaBoton()
        //agregarRadio()
        agregarCampoTexto()
    }
    fun agregarCampoTexto(){
        var campoTexto1=JTextField()
        campoTexto1.text="HHHHHHHHHHHHHHHHHHHH"
        campoTexto1.font=Font(Font.MONOSPACED,Font.BOLD,20)
        //campoTexto1.setBounds(100,100,200,20)
        campoTexto1.columns=25
        contenedor.add(campoTexto1)

        var campoTexto2=JTextField()
        campoTexto2.text="HHHHHHHHHHHHHHHHHHHH"
        campoTexto2.font=Font(Font.MONOSPACED,Font.BOLD,30)
        //campoTexto2.setBounds(100,100,200,20)
        campoTexto2.columns=25
        campoTexto2.background=Color.BLUE
        campoTexto2.foreground=Color.YELLOW
        contenedor.add(campoTexto2)

    }
    fun agregarRadio(){
        var grupo=ButtonGroup()
        var textos= arrayOf(
                "Humano dame click",
                "No,no,no humano dame click a mi",
                "Humano dame click y unete a lado hocuro de fuerza"
        )
        for (i in textos.indices){
            radioBoton.add(JRadioButton())
            radioBoton[i].text=textos[i]
            radioBoton[i].setBounds(10,100 + i *50,550,50)
            radioBoton[i].font=Font(Font.MONOSPACED,Font.BOLD,16)
            grupo.add(radioBoton[i])
            contenedor.add(radioBoton[i])
            if(i==2){
                radioBoton[i].isSelected=true
            }
        }
        /*
        var rd=JRadioButton("Humano dame click")
        rd.setBounds(100,100,200,20)
        rd.isEnabled=true
        contenedor.add(rd)
        */
    }
    fun agregaBoton(){
        var logo=ImageIcon("src/images/kotlin.png")
        var logoMin=ImageIcon(logo.image.getScaledInstance(30,30, Image.SCALE_DEFAULT))

        var contenedor=JPanel()
        this.contentPane.add(contenedor)
        contenedor.layout=null
        botonSwing= JButton("Dame like!!!!",logoMin)
        contenedor.add(botonSwing)
        botonSwing!!.text="Que me des liiikeee!!!!"
        botonSwing!!.setBounds(100,100,300,40)
        botonSwing!!.isEnabled=true
        //botonSwing!!.mnemonic='F'.toInt()
        botonSwing!!.mnemonic=KeyEvent.VK_F
        botonSwing!!.icon=ImageIcon(ImageIcon("src/images/like.png").image.getScaledInstance(20,20,Image.SCALE_FAST))
        botonSwing!!.font= Font(Font.MONOSPACED,Font.ITALIC,12)
        botonSwing!!.foreground=Color.BLACK
        botonSwing!!.background=Color.WHITE

        botonAWT= Button("Soy AWT feo pero dame like!!!")
        contenedor.add(botonAWT)
        botonAWT!!.setBounds(100,200,180,40)
        botonAWT!!.label="Que me de like!!!!"
        botonAWT!!.isEnabled=true

    }
    fun agregarPanel(){

        var contenedor=JPanel()
        contenedor.background= Color.red
        this.contentPane.add(contenedor)
        for (i in 0 until num){
            panel.add(JPanel())
            contenedor.add(panel[i])
            panel[i].background= Color(i*50,i*50,i*50)
        }
        contenedor.layout=BoxLayout(contenedor,BoxLayout.X_AXIS)
    }
    fun agregarEtiquetas(){
        var logo=ImageIcon("src/images/kotlin.png")
        var logoMin=ImageIcon(logo.image.getScaledInstance(60,60, Image.SCALE_DEFAULT))
        for (i in 0 until num){
            etiqueta.add(JLabel("Hola ${i+1}",logoMin,SwingConstants.LEFT))
            etiqueta[i].foreground=Color.white
            panel[i].add(etiqueta[i])
        }
    }
}

🎦 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. :)