











Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
INTERFACES GRÁFICAS EM JAVA - Biblioteca_1330858.pdf
Tipologia: Esquemas
1 / 19
Esta página não é visível na pré-visualização
Não perca as partes importantes!












Em oferta
Interface (diferente de Interface gráfica) Pode ser visto como a especialização de um serviço que pode ser realizado por uma ou mais classes.
A utilização do mecanismo de interface possibilita a especialização à outra classe.
Definição de Interface - implementação Utilizar a palavra reservada implements
Root pane (Pasta de raiz)
Em geral, você não cria diretamente um objeto JRootPane. Em vez disso, você obtém um JRootPane (quer você quer ou não!) Quando instanciar JInternalFrame ou um dos recipientes Swing de nível superior, como JApplet, JDialog e JFrame.
Um painel em camadas é um recipiente Swing que fornece uma terceira dimensão para componentes de posicionamento: profundidade, também conhecida como ordem Z. Ao adicionar um componente a um painel em camadas, você especifica sua profundidade como um número inteiro. Quanto maior o número, mais perto o componente é para a posição "superior" dentro do recipiente. Se os componentes se sobrepõem, os componentes "mais próximos" são desenhados em cima dos componentes em uma profundidade menor. A relação entre os componentes na mesma profundidade é determinada pelas suas posições dentro da profundidade.
Veja esses screenshots da documentação do Swing mostrando a mesma aplicação rodando com 4 LaF diferentes :
O Swing traz muitos componentes para usarmos como: botões, entradas de texto, tabelas, janelas, abas, scroll, árvores de arquivos, Tratamento de Eventos e muitos outros.
Atualmente, o Java suporta, oficialmente , dois tipos de bibliotecas gráficas : AWT e Swing. A AWT foi a primeira API para interfaces gráficas a surgir no Java e foi, mais tarde, superada pelo Swing (a partir do Java 1.2), que possui diversos benefícios em relação a seu antecessor.
As bibliotecas gráficas são bastante simples no que diz respeito a conceitos necessários para usá-las. A complexidade no aprendizado de interfaces gráficas em Java reside no tamanho das bibliotecas e no enorme mundo de possibilidades; isso pode assustar, em um primeiro momento.
AWT e Swing são bibliotecas gráficas oficiais inclusas em qualquer JRE (Ambiente de Tempo de Execução Java) ou JDK. Além destas, existem algumas
O terceiro argumento representa a string que será exibida na barra de título do diálogo na parte superior do diálogo.
JOptionPane.showMessageDialog( null, "Soma dos números = " + soma, "Soma de dois números tipo inteiro", JOptionPane.PLAIN_MESSAGE );
- PLAIN_MESSAGE – Um diálogo que contém uma mensagem, mas nenhum ícone. Exemplo: import javax.swing.JOptionPane; public class Interf { public static void main(String args[]) { JOptionPane.showMessageDialog(null,"Minha mensagem! EDIBERTO MARIANO", "diálogo sem ícone", JOptionPane.PLAIN_MESSAGE); } } SAÍDA
public class Interf { public static void main(String args[]) { JOptionPane.showMessageDialog(null,"Minha mensagem! EDIBERTO MARIANO", "Informação para o usuário", JOptionPane.INFORMATION_MESSAGE); } } SAÍDA
Exemplo1: import javax.swing. JOptionPane ; public class Interf { public static void main(String args[]) { JOptionPane.showMessageDialog(null,"Minha mensagem! EDIBERTO MARIANO”, "Impõe uma pergunta ao usuário", JOptionPane.QUESTION_MESSAGE); } } SAÍDA
Permite que seja informado o salário de dois funcionários, depois exibe-os na tela (em um ambiente gráfico) import javax.swing.*; public class Teste { public static void main(String args[ ] ) { String s1, s2; s1=JOptionPane.showInputDialog ("Informe um Salário:"); s2=JOptionPane.showInputDialog ("Informe outro Salário:"); double n1=Double.parseDouble(s1), n2=Double.parseDouble(s2); JOptionPane.showMessageDialog (null, "Professor: Ediberto Mariano \nPrimeiro Salário = "+s1+"\nSegundo Salário = " +s2); } } SAÍDA DO PROGRAMA EXECUTADO
Exercício: Codifique um programa em Java que:
{ soma+=num; qtde++; s1=JOptionPane.showInputDialog ("Informe um número:"); num=Integer.parseInt(s1); } if(aux == 0) JOptionPane.showMessageDialog(null, "Prof. Ediberto Mariano \nNÃO FOI INFORMADO NENHUM NÚMERO VALIDO"); else { media = soma/qtde; JOptionPane.showMessageDialog(null, "Prof. Ediberto Mariano \nSoma : "+soma+"\nQtde de numeros :"+qtde+"\nMedia :"+media); } } }
Usando Interface gráfica o programa abaixo: permite que seja informado via teclado uma frase, exibe em linhas separadas cada palavra existente na frase calcula e exibe a qtde de palavras que existem na frase digitada import java.util.StringTokenizer; import javax.swing.*; public class Interface { public static void main(String[] args) { int qtde = 0; String s1; s1=JOptionPane.showInputDialog ("Digite uma frase"); String frase = s1; StringTokenizer tokens = new StringTokenizer(frase); while(tokens.hasMoreTokens()) { qtde++; System.out.println(tokens.nextToken()); } JOptionPane.showMessageDialog(null,"Qtde de palavras existentes na frase \n "+frase+"\n"+qtde+" Palavras"); } } SAÍDA DO PROGRAMA ACIMA EXECUTADO
// public static final int DEFAULT_HEIGHT = 300; //ou assim } Ou assim import javax.swing. JFrame ; public class Interface { // Objeto Janela static JFrame janela = new JFrame("Minha Primeira Interface Gráfica - PROF. EDIBERTO MARIANO"); public static void main(String args[]) { janela.setBounds(50, 100, 500, 100); // Seta posicao e tamanho: Coluna 50 (do vídeo), Linha 100 (do vídeo), Largura 500, Altura 100 // janela.setDefaultCloseOperation(WindowConstants,DISPOSE_ON_CLOSE); janela.setVisible(true); // Exibe a janela } } SAÍDA
**- Uma interface gráfica em Java é baseada em dois elementos:
CRIAÇÃO DE UMA INTERFACE GRÁFICA, TAMANHO 500X130, COM DOIS BOTÕES EM JAVA import javax.swing.*; public class interface { public static void main(String jan[]) { Botao janela=new Botao(); janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //TAMANHO DA JANELA, LARGURA = 400 PIXELS, ALTURA 130 PIXELS janela.setSize(500,130); janela.setLayout(null); janela.setVisible(true); } } class Botao extends JFrame { public Botao() { super ("Estácio de Sá - PROF. EDIBERTO MARIANO"); JDesktopPane pan=new JDesktopPane(); JButton bot1=new JButton("CADASTRO DE CLIENTE"); JButton bot2=new JButton("CADASTRO DE FORNECEDORES"); //TAMANHO DOS BOTÕES bot1.setSize(180,30); bot2.setSize(280,30); //POSIÇÕES DOS BOTÕES bot1.setLocation(150,10); //COLUNA 150 LINHA 10 bot2.setLocation(100,50); //COLUNA 1 0 0 LINHA 50 add(bot1); add(bot2); add(pan); } } RESULTADO DO PROGRAMA EXECUTADO
import javax.swing.; import java.awt.; public class Teste { public static void main(String jan[]) { Botao janela=new Botao(); janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //TAMANHO DA JANELA, LARGURA = 300 PIXELS, ALTURA 130 PIXELS janela.setSize(300,130); janela.setLayout(null); janela.setVisible(true); } } class Botao extends JFrame { public Botao() { super ("Estácio de Sá"); JDesktopPane pan=new JDesktopPane(); JButton bot1=new JButton("UNESA"); JButton bot2=new JButton("POO II"); JButton bot3=new JButton("ALUNO"); JButton bot4=new JButton("PROF"); //TAMANHO DOS BOTÕES bot1.setSize(80,30); bot2.setSize(80,30); bot3.setSize(80,30); bot4.setSize(80,30); //POSIÇÕES DOS BOTÕES bot1.setLocation(10,10); //COLUNA 10 LINHA 10 bot2.setLocation(10,50); //COLUNA 10 LINHA 50 bot3.setLocation(100,10);//COLUNA 100 LINHA 10 bot4.setLocation(100,50);//COLUNA 100 LINHA 50 add(bot1); add(bot2); add(bot3); add(bot4); add(pan); } } SAÍDA DO PROGRAMA EXECUTADO
Outro exemplo de containers Com JButton, JFrame e FlowLayout import javax.swing.; import java.awt.; public class TestaContainers { // Objeto Janela static JFrame janela = new JFrame("Container e Componentes - Prof. EDIBERTO"); public static void main (String args[ ]) { int i; janela.setBounds(50, 100, 400, 150); // Seta posição e tamanho janela.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); FlowLayout flow = new FlowLayout(); // Define o layout do container Container caixa = janela.getContentPane(); // Define o tamanho do container caixa.setLayout(flow); // Seta layout do container for (i=1; i<=8; i++) caixa.add(new JButton("Botão " + i)); // Adiciona um botão janela.setVisible(true); // Exibe a janela } } SAÍDA
JLabel - Apenas com texto import java.awt.FlowLayout; //fornece recursos básicos de janela import javax.swing.JFrame; //fornece recursos básicos de janela import javax.swing.JLabel; // exibe textos e imagens public class Interf02 extends JFrame { private JLabel label1; // JLabel apenas com texto public Interf02() // construtor Interface03 adiciona JLabels a JFrame { super("Exemplo de JLabel"); setLayout(new FlowLayout()); //configura o layout de frame //Construtur JLabel com um argumento de string label1 = new JLabel("PROF. EDIBERTO MARIANO"); add(label1); } public static void main(String args[ ] ) { Interf02 lb = new Interf02(); lb.resize(300,100);//300 de largura e 100 de altura lb.setVisible(true); } } SAÍDA