Upload
phamhuong
View
264
Download
5
Embed Size (px)
Citation preview
Interfaces Gráficas (GUIs) em Java com SwingFundamentos
GUI em Java 1Fonte: Prof.Ricardo Linden
GUI– Interface Gráfica com o Usuário
Uma GUI Apresenta uma interface amigávelUma GUI Apresenta uma interface amigável
GUI em Java 2
Para começar com Java SwingO JOptionPane – Caixas de Diálogo
DIÁLOGO DE ENTRADADIÁLOGO DE ENTRADARecebe informação do teclado e armazena em uma variável string.Recebe informação do teclado e armazena em uma variável string.
Formato:Formato:
String x =String x = JOptionPaneJOptionPane..showInputDialogshowInputDialog((nullnull, mensagem,titulo,tipo, mensagem,titulo,tipo--mensagem);mensagem);
GUI em Java 3
DIÁLOGO DE ENTRADADIÁLOGO DE ENTRADARecebe informação do teclado e armazena em uma variável string.Recebe informação do teclado e armazena em uma variável string.
Formato:Formato:
String x =String x = JOptionPaneJOptionPane..showInputDialogshowInputDialog((nullnull, mensagem,titulo,tipo, mensagem,titulo,tipo--mensagem);mensagem);
JOptionPane – Caixas de Diálogo
DIÁLOGO DE ENTRADADIÁLOGO DE ENTRADAExemplo:Exemplo:importimport javaxjavax.swing.*;.swing.*;classclass TestaDialogoTestaDialogo{{
publicpublic staticstatic voidvoid mainmain(String[ ](String[ ] argsargs)){{
String s;String s;s=s=JOptionPaneJOptionPane..showInputDialogshowInputDialog((nullnull,"Digite um nome:",“Entrada de Dados",1);,"Digite um nome:",“Entrada de Dados",1);System.System.exitexit(0)(0)
}}}}
Referência à bibliotecaReferência à bibliotecajavaxjavax.swing de.swing de javajavaReferência à bibliotecaReferência à bibliotecajavaxjavax.swing de.swing de javajava
GUI em Java 4
DIÁLOGO DE ENTRADADIÁLOGO DE ENTRADAExemplo:Exemplo:importimport javaxjavax.swing.*;.swing.*;classclass TestaDialogoTestaDialogo{{
publicpublic staticstatic voidvoid mainmain(String[ ](String[ ] argsargs)){{
String s;String s;s=s=JOptionPaneJOptionPane..showInputDialogshowInputDialog((nullnull,"Digite um nome:",“Entrada de Dados",1);,"Digite um nome:",“Entrada de Dados",1);System.System.exitexit(0)(0)
}}}}
JOptionPane – Caixas de Diálogo
s=s=JOptionPaneJOptionPane..showInputDialogshowInputDialog((nullnull,"Digite um nome:",“Entrada de Dados",1);,"Digite um nome:",“Entrada de Dados",1);s=s=JOptionPaneJOptionPane..showInputDialogshowInputDialog((nullnull,"Digite um nome:",“Entrada de Dados",1);,"Digite um nome:",“Entrada de Dados",1);
DIÁLOGO DE ENTRADADIÁLOGO DE ENTRADA -- continuaçãocontinuação
GUI em Java 5
00
11
22
33
Janelascom oúltimo
parâmetrode
0 a 3
Janelascom oúltimo
parâmetrode
0 a 3
s=s=JOptionPaneJOptionPane..showInputDialogshowInputDialog((nullnull,"Digite um nome:",“Entrada de Dados",1);,"Digite um nome:",“Entrada de Dados",1);s=s=JOptionPaneJOptionPane..showInputDialogshowInputDialog((nullnull,"Digite um nome:",“Entrada de Dados",1);,"Digite um nome:",“Entrada de Dados",1);
JOptionPane – Caixas de Diálogo
DIÁLOGO DE ENTRADADIÁLOGO DE ENTRADA -- continuaçãocontinuação
(Deitel –Java comoProgramar)
GUI em Java 6
00
11
22
33
Janelascom oúltimo
parâmetrode
0 a 3
Janelascom oúltimo
parâmetrode
0 a 3
JOptionPane – Caixas de Diálogo
DIÁLOGO DE MENSAGEMDIÁLOGO DE MENSAGEMApresenta informações de stringApresenta informações de stringFormato:Formato:JOptionPaneJOptionPane..showMessagetDialogshowMessagetDialog((nullnull,mensagem,titulo,,mensagem,titulo,tipoMensagemtipoMensagem););
Exemplo:Exemplo:importimport javax.swingjavax.swing.*;.*;classclass MensagemDadosMensagemDados{{
public static void main(String[]public static void main(String[] argsargs)){{
String s;String s;s="s="linhalinha AA\\n";n";s=s+"s=s+"linhalinha BB\\n";n";s=s+"s=s+"--------------\\n";n";
JOptionPane.showMessageDialogJOptionPane.showMessageDialog(null,s,”titulo”,1);(null,s,”titulo”,1);}}
Com tipoMensagem 1
GUI em Java 7
Apresenta informações de stringApresenta informações de stringFormato:Formato:JOptionPaneJOptionPane..showMessagetDialogshowMessagetDialog((nullnull,mensagem,titulo,,mensagem,titulo,tipoMensagemtipoMensagem););
Exemplo:Exemplo:importimport javax.swingjavax.swing.*;.*;classclass MensagemDadosMensagemDados{{
public static void main(String[]public static void main(String[] argsargs)){{
String s;String s;s="s="linhalinha AA\\n";n";s=s+"s=s+"linhalinha BB\\n";n";s=s+"s=s+"--------------\\n";n";
JOptionPane.showMessageDialogJOptionPane.showMessageDialog(null,s,”titulo”,1);(null,s,”titulo”,1);}}
Com tipoMensagem 1Com tipoMensagem 1
Validação de Dados Numéricos
Validação de dados numéricosValidação de dados numéricos
AA validaçãovalidação dede dadosdados dede entradaentrada éé fundamentalfundamental parapara queque aa aplicaçãoaplicação possapossaprocessarprocessar osos dadosdados corretamentecorretamente
AoAo receberreceber umauma digitaçãodigitação viavia JOptionPaneJOptionPane emem umauma String,String, efetueefetue aa conversãoconversãodada StringString adequadamenteadequadamente parapara oo tipotipo ((intint,,floatfloat,,......)) desejado,desejado, masmas dentrodentro dadaestruturaestrutura trytry/catch,/catch, tratandotratando aa exceçãoexceção convenientementeconvenientemente
Observe o exemplo a seguir:Observe o exemplo a seguir:
GUI em Java 8
Validação de dados numéricosValidação de dados numéricos
AA validaçãovalidação dede dadosdados dede entradaentrada éé fundamentalfundamental parapara queque aa aplicaçãoaplicação possapossaprocessarprocessar osos dadosdados corretamentecorretamente
AoAo receberreceber umauma digitaçãodigitação viavia JOptionPaneJOptionPane emem umauma String,String, efetueefetue aa conversãoconversãodada StringString adequadamenteadequadamente parapara oo tipotipo ((intint,,floatfloat,,......)) desejado,desejado, masmas dentrodentro dadaestruturaestrutura trytry/catch,/catch, tratandotratando aa exceçãoexceção convenientementeconvenientemente
Observe o exemplo a seguir:Observe o exemplo a seguir:
Validação de dados numéricosValidação de dados numéricos –– ContinuaçãoContinuaçãoimportimport javaxjavax..swingswing..**;;publicpublic classclass MainMain {{
publicpublic staticstatic voidvoid mainmain(String[](String[] argsargs)) {{StringString nn;;nn == JOptionPaneJOptionPane..showInputDialogshowInputDialog((nullnull,, "ex")"ex");;
intint ii;;floatfloat ff;;
trytry {{//Caso//Caso intinti =i = IntegerInteger..parseIntparseInt(n);(n);//Caso//Caso floatfloatf =f = FloatFloat..parseFloatparseFloat(n);(n);System.System.outout.println.println(i);(i);System.System.outout.println.println(f);(f);
}}catch (Exception e)catch (Exception e){{//se conversão errada//se conversão erradaSystem.System.outout.println.println(“erro”);(“erro”);
}}}}
}}
Validação de Dados Numéricos
GUI em Java 9
Validação de dados numéricosValidação de dados numéricos –– ContinuaçãoContinuaçãoimportimport javaxjavax..swingswing..**;;publicpublic classclass MainMain {{
publicpublic staticstatic voidvoid mainmain(String[](String[] argsargs)) {{StringString nn;;nn == JOptionPaneJOptionPane..showInputDialogshowInputDialog((nullnull,, "ex")"ex");;
intint ii;;floatfloat ff;;
trytry {{//Caso//Caso intinti =i = IntegerInteger..parseIntparseInt(n);(n);//Caso//Caso floatfloatf =f = FloatFloat..parseFloatparseFloat(n);(n);System.System.outout.println.println(i);(i);System.System.outout.println.println(f);(f);
}}catch (Exception e)catch (Exception e){{//se conversão errada//se conversão erradaSystem.System.outout.println.println(“erro”);(“erro”);
}}}}
}}Float e Integer são classesFloat e Integer são classes
Geração de números
GeraçãoGeração dede númerosnúmeros
RandomRandom rr == newnew Random()Random();;ExemplosExemplos:: intint riri == rr..nextInt(nextInt(5050)+)+11;; floatfloat rfrf == rr..nextFloat()*nextFloat()*1010++33ff;;OUOU:: intint riri22 == (int)(int) (Math(Math..randomrandom()*()*8080 ++ 22));;
GUI em Java 10
GeraçãoGeração dede númerosnúmeros
RandomRandom rr == newnew Random()Random();;ExemplosExemplos:: intint riri == rr..nextInt(nextInt(5050)+)+11;; floatfloat rfrf == rr..nextFloat()*nextFloat()*1010++33ff;;OUOU:: intint riri22 == (int)(int) (Math(Math..randomrandom()*()*8080 ++ 22));;
Gera entre 1 e 50
Gera a partir do 3
Gera entre 2e 80
Exercício 01
ElaboreElabore umum programaprograma queque geregere 3030 númerosnúmeros entreentre 22 valoresvalores queque devemdevem serserinformadosinformados pelopelo usuáriousuário.. ApresentarApresentar essesesses númerosnúmeros emem umauma janelajanela dedediálogodiálogo nono formatoformato::
SeqSeq.. NúmeroNúmero0101 zyzy0202 xxxx0303 wzwz...... ..........
DICADICA:: UtilizeUtilize umauma stringstring parapara apresentarapresentar aa mensagemmensagem nana janelajanela dede diálogo,diálogo,comcom conteúdoconteúdo acumulativo,acumulativo, concatenadoconcatenado..
GUI em Java 11
ElaboreElabore umum programaprograma queque geregere 3030 númerosnúmeros entreentre 22 valoresvalores queque devemdevem serserinformadosinformados pelopelo usuáriousuário.. ApresentarApresentar essesesses númerosnúmeros emem umauma janelajanela dedediálogodiálogo nono formatoformato::
SeqSeq.. NúmeroNúmero0101 zyzy0202 xxxx0303 wzwz...... ..........
DICADICA:: UtilizeUtilize umauma stringstring parapara apresentarapresentar aa mensagemmensagem nana janelajanela dede diálogo,diálogo,comcom conteúdoconteúdo acumulativo,acumulativo, concatenadoconcatenado..
F I MF I M
GUI em Java 12
F I MF I M