Bases de Dades
5.2 CS: Utilització des de IntelliJ
Exemple
Practicarem tot el que ve a continuació sobre un programa gràfic. Serà molt més senzill que en els casos anteriors, ja que de moment només volem un lloc on tenir el nom de la imatge que volem baixar, i un lloc on visualitzar la imatge
Aquest és el seu esquelet. Guardeu-lo en un fitxer anomenat Exemple_7_5_1_FirebaseCS_AgafarImatge.kt:
import javax.swing.JFrame
import java.awt.EventQueue
import javax.swing.JTextField
import javax.swing.JButton
import javax.swing.JLabel
import java.awt.BorderLayout
import javax.swing.JPanel
import java.awt.FlowLayout
import java.io.FileInputStream
import com.google.firebase.FirebaseOptions
import com.google.auth.oauth2.GoogleCredentials
import com.google.firebase.FirebaseApp
import com.google.cloud.storage.Bucket
import com.google.firebase.cloud.StorageClient
import java.nio.file.Paths
import java.awt.image.BufferedImage
import javax.imageio.ImageIO
import java.io.IOException
import java.nio.ByteBuffer
import java.io.ByteArrayInputStream
import javax.swing.ImageIcon
import java.io.File
class AgafarImatge_1 : JFrame() {
val nomIm = JTextField(25)
val boto = JButton("Agafar")
val foto = JLabel()
var bucket: Bucket? = null
init {
defaultCloseOperation = JFrame.EXIT_ON_CLOSE
setBounds(100, 100, 900, 600)
setLayout(BorderLayout())
val panell1 = JPanel(FlowLayout())
panell1.add(nomIm)
panell1.add(boto)
getContentPane().add(panell1, BorderLayout.NORTH)
getContentPane().add(foto, BorderLayout.CENTER)
boto.addActionListener { agafar() }
}
fun agafar() {
// Instruccions per agafar la imatge
}
}
fun main(args: Array<String>) {
EventQueue.invokeLater {
AgafarImatge_1().isVisible = true
}
}
Llicenciat sota la Llicència Creative Commons Reconeixement NoComercial SenseObraDerivada 4.0