SlideShare uma empresa Scribd logo
1 de 32
Baixar para ler offline
Interface
Gráfica
JAVA
Classe JFrame
Classe JPanel
Objetivo Geral
• Conhecer e manipular os conceitos fundamentais da criação de
interfaces gráficas em Java utilizando as classes JFrame, JPanel e os
seus componentes.
Objetivos Específicos
1.Conhecer as bibliotecas e frameworks existentes para criar interfaces gráficas
em Java, nomeadamente as biblioteca AWT e Swing e as várias componentes
que podemos utilizar.
2.Compreender a hierarquia de uma interface gráfica utilizando o JFrame e o
JPanel
3.Conhecer a classe JFrame e JPanel e compreender o papel destas classes na
criação de interfaces gráficas.
4.Criar e personalizar uma janela gráfica usando JFrame e o JPanel.
5.Adicionar e organizar componentes gráficos numa janela.
Recordam-se…
Classe JOptionPane do pacote javax.swing permite criar diferentes tipos de
caixas de diálogo, como mensagens informativas, solicitação de entrada de dados,
escolha de opções, …
import javax.swing.JOptionPane;
public class ModoGrafico {
public static void main(String[] args) {
String nome;
//Mostra uma caixa de diálogo que solicita a entrada de
dados
nome = JOptionPane.showInputDialog(“Insira o seu
nome: “);
String mensagem = “O nome inserido foi “+nome;
//Mostra uma caixa de diálogo com a mensagem
JOptionPane.showMessageDialog(null, mensagem);
}
}
Recordam-se…
JOptionPane
showMessageDialog:
Exibe uma caixa de diálogo com uma mensagem informativa.
JOptionPane.showMessageDialog(null, "Olá, mundo!");
showInputDialog:
Solicita uma entrada do utilizador numa caixa de diálogo.
String nome = JOptionPane.showInputDialog("Digite seu nome:");
showOptionDialog:
Exibe uma caixa de diálogo com opções para escolha.
Object[] options = {"Sim", "Não", "Cancelar"};
int escolha = JOptionPane.showOptionDialog(null, "Deseja continuar?",
"Confirmação", JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE, null, options, options[2]);
Importância das Interfaces Gráficas
Aplicações de consola
Aplicações interfaces
gráficas • proporcionam uma experiência mais interativa
e visualmente atraente para o utilizador final.
• são importante em aplicações que exigem uma
grande quantidade de dados de entrada
introduzidos pelo utilizador ou que exibem
informações complexas de forma organizada.
• Simplicidade
• facilidade de implementação
Aplicações
Aplicações Gráficas em JAVA
• AWT (Abstract Window Toolkit): java.awt
• É a biblioteca mais antiga.
• Disponibiliza um conjunto básico de componentes gráficos, como botões, caixas de
texto, etc.
• Swing: javax.swing
• É a biblioteca mais avançada para criar interfaces gráficas em Java.
• Oferece maior flexibilidade e controle sobre a aparência e comportamento dos
componentes.
Todas as classes do pacote javax.swing são
extensão das classes do pacote java.awt.
Para criar aplicações gráficas, temos várias opções de bibliotecas e
frameworks. As principais são:
JavaFX:
• JavaFX é uma plataforma de software para desenvolvimento de aplicações para
browser, desktop e dispositivos móveis.
Aplicações Gráficas em JAVA
Java 2D:
• Java 2D é uma API para gráficos 2D de alto desempenho.
Uma Interface gráfica em Java é baseada em dois elementos:
Interface Gráfica
● Define um componente de interface.
● Botões, labels, scrollbars, …
● Os componentes devem ser dispostos de modo a tornar a interface
gráfica o mais intuitiva possível.
servem para agrupar e exibir componentes
● Define um componente que pode conter outros componentes.
● Define métodos como add() para adicionar componentes em seu interior.
● Disponibiliza vários gestores de layout que se encontram no pacote
java.awt.
1. top-level container: fornece a área base para que
os outros componentes swing possam ser inseridos.
(ex: JFrame, JWindown JApplet e JDialog)
2. intermediate container: fornece suporte de posicionamento e acessórios
para que outros componentes swing possam ser inseridos. (ex: JPanel,
JScrollPanel, ...)
3. atomic components: entidades auto-suficientes que representam
informações para o utilizador. (ex: JTextField, JButton)
Hierarquia de Containers
top-level
container
Intermediate
container
atomic components
Hierarquia das Interfaces Gráficas
Principais caraterísticas da biblioteca Swing
1.Componentes Gráficos:
• botões, caixas de texto, rótulos, listas, tabelas, árvores, painéis, entre outros.
2.Look and Feel:
• aparência consistente em diferentes plataformas.
3. Modelo de Eventos:
• para gerir as interações do utilizador.
4. Layout Managers:
• gestores de layout para organizar os componentes dentro de um container.
5. Personalização:
• a aparência e o comportamento dos componentes gráficos de várias maneiras.
Biblioteca Swing
Necessidade das Classes JFrame e JPanel
As classes JFrame e JPanel são fundamentais para a criação de interfaces
gráficas em Java.
• .
O JFrame é responsável por
criar e gerir uma janela gráfica,
fornecendo funcionalidades como
controle de tamanho, posição e
fecho da janela. Serve como o
container principal para os
componentes da interface gráfica.
o JPanel é utilizado para
organizar e agrupar componentes
gráficos dentro de uma janela.
Funciona como um container para
outros componentes, permitindo a
criação de layouts complexos e a
organização eficiente dos
elementos da interface-
JFrame – contentor que consiste numa janela à qual se podem adicionar outros
componentes. É uma janela com uma barra de título, uma borda e botões de.
Construtor Descrição
JFrame() Constrói uma janela sem título.
JFrame(String titulo)
Constrói uma janela com o título indicado
no parâmetro.
Principais Funções da Classe JFrame
1.Criação de Janelas: através da instância de um objeto JFrame ou extendendo a
classe a JFrame
2.Controle de Tamanho e Posição: especificar o tamanho e a posição inicial da
janela utilizando métodos como setSize(), setBounds() e setLocationRelativeTo().
3.Manipulação de Eventos: Disponibiliza métodos para trabalhar com eventos de
janela, como fecho, redimensionamento e foco.
4.Adição de Componentes: adicionar diferentes componentes gráficos, como
botões, caixas de texto e rótulos, à janela JFrame utilizando métodos como
add().
5.Exibição da Janela: Por fim, a janela JFrame é exibida na tela utilizando o
método setVisible(true), tornando-a visível para o utilizador.
Métodos e atributos da classe JFrame
Métodos:
1.setTitle(String title): Define o título da janela.
2.setSize(int width, int height): Define o tamanho da janela em
pixels, especificando largura e altura.
3.setDefaultCloseOperation(int operation): Define a operação
padrão ao fechar a janela. Os valores possíveis para "operation"
incluem
JFrame.EXIT_ON_CLOSE, JFrame.DISPOSE_ON_CLOSE,
JFrame.DO_NOTHING_ON_CLOSE, entre outros.
JPanel – contentor que consiste numa janela à qual se podem adicionar outros
componentes contentor que consiste num painel ao qual se podem adicionar
outros componentes. Este por sua vez é adicionado a uma janela (JFrame). tes. É
uma janela com uma barra de título e uma borda.
Construtor Descrição
JPanel() Constrói um painel.
JPanel (LayoutManager layout)
Constrói um painel associado a um
determinado gestor de layout.
1. Organização de Componentes: permite organizar componentes em
layouts complexos de forma eficiente.
2. Personalização Visual: permite personalizar a aparência visual de um
JPanel, definindo cores de fundo, bordas e outros atributos visuais.
3. Divisão de Interfaces: O uso de múltiplos JPanels pode facilitar a divisão
lógica de uma interface gráfica em diferentes áreas ou seções, tornando o
código mais organizado e fácil de manter.
Principais Funções da Classe JPanel
Exercício Prático
Implemente uma aplicação em Java simples que utiliza JFrame
para exibir uma janela básica.
Passo 1: Configuração do Projeto
•Crie um novo projeto Java com o nome aula1_IG.
Passo 2: Criação da Classe Principal
•Crie uma nova classe Java e dê-lhe a ela um nome
significativo, como por exemplo "MinhaJanela".
Exercício Prático (cont.)
Passo 3: Implementação da Janela Gráfica
•Crie uma nova instancia com o nome janela da classe
JFrame;
•Defina o tamanho da janela utilizando o método setSize().
•Especifique a operação padrão ao fechar a janela utilizando
o método setDefaultCloseOperation().
•Torne a janela visível utilizando o método setVisible().
MJanela.setSize(300,200); // tamanho da janela (largura, altura)
import javax.swing.JFrame;
public class MinhaJanela {
public MinhaJanela(){
JFrame MJanela= new JFrame();
MJanela.setTitle("A minha janela"); // título da janela
MJanela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
MJanela.setVisible(true); // Torna a janela visível
}
public static void main(String[] args){
new MinhaJanela();
}
}
Ou
setSize(300,200); // tamanho da janela (largura, altura)
import javax.swing.JFrame;
public class MinhaJanela1 extends JFrame {
public MinhaJanela1(){
setTitle("A minha janela"); // título da janela
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true); // Torna a janela visível
}
public static void main(String[] args){
new MinhaJanela();
}
}
Exercício Prático (cont.)
Passo 4: Implementação do painel
•Crie uma nova instancia com o nome painel da classe
Jpanel (JPanel painel= new JPanel();
•Crie dois botões YES e NO. JButton botao1= new JButton("Yes");
JButton botao2= new JButton("No"); )
• Adicione os dois botões ao painel. painel.add(botao1);
painel.add(botao2);
• Torne o painel visível utilizando o método setVisible().
• Adicione o painel à janela getContentPane().add(painel) ;
• Torne a janela visível utilizando o método setVisible().
import javax.swing.*;
public class MinhaJanela1Painel extends JFrame{
public MinhaJanela1Painel(){
setTitle("A Minha Janela"); // título da janela
setSize(300, 200); // tamanho da janela (largura, altura)
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // operação ao fechar a janela
setLocationRelativeTo(null); // a posição da janela como centralizada na tela
JPanel painel= new JPanel(); // criar um JPanel
JButton botao1= new JButton("Yes"); // criar um botão
JButton botao2= new JButton("No"); // criar um botão
painel.add(botao1); // adicionar botão ao painel
painel.add(botao2); // adicionar botão ao painel
painel.setVisible(true); // Torna o painel visível
getContentPane().add(painel) ; // adicionar painel à janela
setVisible(true); // Torna a janela visível
}
public static void main(String[] args){
new MinhaJanela1Painel();
}
Componentes – JLabel
JLabel – componente que consta de um rótulo de texto.
Pode ser adicionado a um contentor (JFrame ou JPanel).
Construtor Descrição
JLabel() Constrói um rótulo sem texto.
JLabel(String texto)
Constrói um rótulo com o texto indicado no
parâmetro.
JLabel (Icon icone)
Constrói um rótulo com a imagem indicada no
parâmetro.
JLabel(String texto, int alinhaHoriz)
Constrói um rótulo com o texto e o alinhamento* do
mesmo, indicados nos parâmetros.
JLabel(Icon icone, int alinhaHoriz)
Constrói um rótulo com a imagem e o alinhamento
da mesma, indicados nos parâmetros.
JLabel(String texto, Icon icone, int alinhaHoriz)
Constrói um rótulo com o texto, a imagem e o
alinhamento dos mesmos, indicados nos parâmetros.
Componentes – JTextField (1)
JTextField – componente que consta de um campo de texto editável com uma
única linha. Habitualmente utiliza-se em conjunto com um rótulo (JLabel). Pode ser
adicionado a um contentor (JFrame ou JPanel).
Construtor Descrição
JTextField() Constrói um campo de texto.
JTextField(int colunas)
Constrói um campo de texto com o número de colunas
indicado no parâmetro.
JTextField(String texto)
Constrói um campo de texto que contém, como valor por
predefinição, o texto indicado no parâmetro.
JTextField(String texto, int colunas)
Constrói um campo de texto que contém, como valor por
predefinição, o texto indicado no parâmetro. A largura do
campo é definida pelo número de colunas também indicadas
no parâmetro.
Componentes – JTextField (2)
JTextArea – componente que consta de um campo de texto editável com diversas
linhas. Habitualmente utiliza-se em conjunto com um JScrollPane para que as barras de
rolamento direita e inferior apareçam quando necessário. Pode ser adicionado a um
contentor (JFrame ou JPanel).
Componentes – JTextArea (1)
Construtor Descrição
JTextArea() Constrói uma área de texto com dimensão 0.
JTextArea(String texto)
Constrói uma área de texto que contém, como valor por
predefinição, o texto indicado no parâmetro.
JTextArea(int linhas, int colunas)
Constrói uma área de texto com o número de linhas e de colunas
indicados nos parâmetros.
JTextArea(String texto, int linhas, int
colunas)
Constrói uma área de texto que contém, como valor por
predefinição, o texto indicado no parâmetro. As dimensões da
área são definidas pelo número de linhas e de colunas também
indicadas no parâmetro.
Componentes – JTextArea (2)
Componentes – JButton
JButton – componente que consiste num botão em forma
rectangular. Pode ser adicionado a um contentor (JFrame ou
JPanel).
Construtor Descrição
JButton() Constrói um botão sem texto e sem imagem.
JButton(String texto)
Constrói um botão com o texto indicado no
parâmetro.
JButton(String texto, Icon
icone)
Constrói um botão com o texto e a imagem
indicados no parâmetro.
JButton(Icon icone)
Constrói um botão com a imagem indicada no
parâmetro.
Exercício Prático (cont.)
• Alterar o título
• Alterar o tamanho
• Alterar a posição (centro)
• o ícone da janela,
• Definir o layout da janela
• Adicionar um rótulo à janela
• Adicionar um botão à janela
• Alterar a cor
• Definir o tamanho com base nos
tamanhos dos subcomponentes.
• set.Title();
•set.Size();
•setLocationRelativeTo(null);
•setIconImage(new ImageIcon(“C:...icon.jpg”).getImage());
•setLayout(new FlowLayout());
•JLabel label = new JLabel("Olá, mundo!");
add(label);
•JButton button = new JButton("Clique aqui"); add(button);
•setBackground(color.cyan);
•pack();
Passo 6: Experimentação
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.ImageIcon;
public class MinhaJanela2 extends JFrame{
public MinhaJanela2(){
super("A Minha Janela"); // título da janela
setSize(500, 300); // tamanho da janela (largura, altura)
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // operação ao fechar a janela
setLocationRelativeTo(null); // a posição da janela como centralizada na tela
setIconImage(new ImageIcon("D:ANAESCOLAS2023-2024 AEF2023-2024 AEF11ºPSI -
GPI22M11 – Programação Orientada a Objetos Avançada
(50)Projetosaula1_IGicon1.jpg").getImage());
JLabel rotulo= new JLabel("Isto é um rótulo");
add(rotulo);
JButton botao = new JButton("Clique aqui!");
add(botao);
setVisible(true); // Torna a janela visível
}
public static void main(String[] args){
new MinhaJanela2();}
}
}

Mais conteúdo relacionado

Semelhante a Aula 1 - Introdução à Interface gráfica do JAVA.pdf

Semelhante a Aula 1 - Introdução à Interface gráfica do JAVA.pdf (20)

JavaFx - Introdução
JavaFx - IntroduçãoJavaFx - Introdução
JavaFx - Introdução
 
Aplicações java com netbeans
Aplicações  java com  netbeansAplicações  java com  netbeans
Aplicações java com netbeans
 
Tutorial1
Tutorial1Tutorial1
Tutorial1
 
Construindo aplicações com netbeans
Construindo aplicações com netbeansConstruindo aplicações com netbeans
Construindo aplicações com netbeans
 
Apostila: Netbeans
Apostila: NetbeansApostila: Netbeans
Apostila: Netbeans
 
Computação Móvel 2012.2 - Android
Computação Móvel 2012.2 - AndroidComputação Móvel 2012.2 - Android
Computação Móvel 2012.2 - Android
 
Capitulo 14 -_componentes_gui_parte_1
Capitulo 14 -_componentes_gui_parte_1Capitulo 14 -_componentes_gui_parte_1
Capitulo 14 -_componentes_gui_parte_1
 
CURSO JAVA 02
CURSO JAVA 02CURSO JAVA 02
CURSO JAVA 02
 
Sobre Visual studio
Sobre Visual studioSobre Visual studio
Sobre Visual studio
 
Programação OO - Java
Programação OO - JavaProgramação OO - Java
Programação OO - Java
 
Graphics Capabilities of Java Platform
Graphics Capabilities of Java PlatformGraphics Capabilities of Java Platform
Graphics Capabilities of Java Platform
 
Java AWT
Java AWTJava AWT
Java AWT
 
Introdução ao Java Swing (Interface)
Introdução ao Java Swing (Interface)Introdução ao Java Swing (Interface)
Introdução ao Java Swing (Interface)
 
THREADS EM JAVA: INTRODUÇÃO
THREADS EM JAVA: INTRODUÇÃOTHREADS EM JAVA: INTRODUÇÃO
THREADS EM JAVA: INTRODUÇÃO
 
Java interface gráfica swing
Java   interface gráfica swingJava   interface gráfica swing
Java interface gráfica swing
 
Spring & Struts
Spring & StrutsSpring & Struts
Spring & Struts
 
Java Seminar
Java SeminarJava Seminar
Java Seminar
 
Java10
Java10Java10
Java10
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
 
Java
JavaJava
Java
 

Aula 1 - Introdução à Interface gráfica do JAVA.pdf

  • 2. Objetivo Geral • Conhecer e manipular os conceitos fundamentais da criação de interfaces gráficas em Java utilizando as classes JFrame, JPanel e os seus componentes. Objetivos Específicos 1.Conhecer as bibliotecas e frameworks existentes para criar interfaces gráficas em Java, nomeadamente as biblioteca AWT e Swing e as várias componentes que podemos utilizar. 2.Compreender a hierarquia de uma interface gráfica utilizando o JFrame e o JPanel 3.Conhecer a classe JFrame e JPanel e compreender o papel destas classes na criação de interfaces gráficas. 4.Criar e personalizar uma janela gráfica usando JFrame e o JPanel. 5.Adicionar e organizar componentes gráficos numa janela.
  • 3. Recordam-se… Classe JOptionPane do pacote javax.swing permite criar diferentes tipos de caixas de diálogo, como mensagens informativas, solicitação de entrada de dados, escolha de opções, … import javax.swing.JOptionPane; public class ModoGrafico { public static void main(String[] args) { String nome; //Mostra uma caixa de diálogo que solicita a entrada de dados nome = JOptionPane.showInputDialog(“Insira o seu nome: “); String mensagem = “O nome inserido foi “+nome; //Mostra uma caixa de diálogo com a mensagem JOptionPane.showMessageDialog(null, mensagem); } }
  • 4. Recordam-se… JOptionPane showMessageDialog: Exibe uma caixa de diálogo com uma mensagem informativa. JOptionPane.showMessageDialog(null, "Olá, mundo!"); showInputDialog: Solicita uma entrada do utilizador numa caixa de diálogo. String nome = JOptionPane.showInputDialog("Digite seu nome:"); showOptionDialog: Exibe uma caixa de diálogo com opções para escolha. Object[] options = {"Sim", "Não", "Cancelar"}; int escolha = JOptionPane.showOptionDialog(null, "Deseja continuar?", "Confirmação", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[2]);
  • 5. Importância das Interfaces Gráficas Aplicações de consola Aplicações interfaces gráficas • proporcionam uma experiência mais interativa e visualmente atraente para o utilizador final. • são importante em aplicações que exigem uma grande quantidade de dados de entrada introduzidos pelo utilizador ou que exibem informações complexas de forma organizada. • Simplicidade • facilidade de implementação Aplicações
  • 6. Aplicações Gráficas em JAVA • AWT (Abstract Window Toolkit): java.awt • É a biblioteca mais antiga. • Disponibiliza um conjunto básico de componentes gráficos, como botões, caixas de texto, etc. • Swing: javax.swing • É a biblioteca mais avançada para criar interfaces gráficas em Java. • Oferece maior flexibilidade e controle sobre a aparência e comportamento dos componentes. Todas as classes do pacote javax.swing são extensão das classes do pacote java.awt. Para criar aplicações gráficas, temos várias opções de bibliotecas e frameworks. As principais são:
  • 7. JavaFX: • JavaFX é uma plataforma de software para desenvolvimento de aplicações para browser, desktop e dispositivos móveis. Aplicações Gráficas em JAVA Java 2D: • Java 2D é uma API para gráficos 2D de alto desempenho.
  • 8. Uma Interface gráfica em Java é baseada em dois elementos: Interface Gráfica ● Define um componente de interface. ● Botões, labels, scrollbars, … ● Os componentes devem ser dispostos de modo a tornar a interface gráfica o mais intuitiva possível. servem para agrupar e exibir componentes ● Define um componente que pode conter outros componentes. ● Define métodos como add() para adicionar componentes em seu interior. ● Disponibiliza vários gestores de layout que se encontram no pacote java.awt.
  • 9. 1. top-level container: fornece a área base para que os outros componentes swing possam ser inseridos. (ex: JFrame, JWindown JApplet e JDialog) 2. intermediate container: fornece suporte de posicionamento e acessórios para que outros componentes swing possam ser inseridos. (ex: JPanel, JScrollPanel, ...) 3. atomic components: entidades auto-suficientes que representam informações para o utilizador. (ex: JTextField, JButton) Hierarquia de Containers
  • 11. Principais caraterísticas da biblioteca Swing 1.Componentes Gráficos: • botões, caixas de texto, rótulos, listas, tabelas, árvores, painéis, entre outros. 2.Look and Feel: • aparência consistente em diferentes plataformas. 3. Modelo de Eventos: • para gerir as interações do utilizador. 4. Layout Managers: • gestores de layout para organizar os componentes dentro de um container. 5. Personalização: • a aparência e o comportamento dos componentes gráficos de várias maneiras. Biblioteca Swing
  • 12. Necessidade das Classes JFrame e JPanel As classes JFrame e JPanel são fundamentais para a criação de interfaces gráficas em Java. • . O JFrame é responsável por criar e gerir uma janela gráfica, fornecendo funcionalidades como controle de tamanho, posição e fecho da janela. Serve como o container principal para os componentes da interface gráfica. o JPanel é utilizado para organizar e agrupar componentes gráficos dentro de uma janela. Funciona como um container para outros componentes, permitindo a criação de layouts complexos e a organização eficiente dos elementos da interface-
  • 13. JFrame – contentor que consiste numa janela à qual se podem adicionar outros componentes. É uma janela com uma barra de título, uma borda e botões de. Construtor Descrição JFrame() Constrói uma janela sem título. JFrame(String titulo) Constrói uma janela com o título indicado no parâmetro.
  • 14. Principais Funções da Classe JFrame 1.Criação de Janelas: através da instância de um objeto JFrame ou extendendo a classe a JFrame 2.Controle de Tamanho e Posição: especificar o tamanho e a posição inicial da janela utilizando métodos como setSize(), setBounds() e setLocationRelativeTo(). 3.Manipulação de Eventos: Disponibiliza métodos para trabalhar com eventos de janela, como fecho, redimensionamento e foco. 4.Adição de Componentes: adicionar diferentes componentes gráficos, como botões, caixas de texto e rótulos, à janela JFrame utilizando métodos como add(). 5.Exibição da Janela: Por fim, a janela JFrame é exibida na tela utilizando o método setVisible(true), tornando-a visível para o utilizador.
  • 15. Métodos e atributos da classe JFrame Métodos: 1.setTitle(String title): Define o título da janela. 2.setSize(int width, int height): Define o tamanho da janela em pixels, especificando largura e altura. 3.setDefaultCloseOperation(int operation): Define a operação padrão ao fechar a janela. Os valores possíveis para "operation" incluem JFrame.EXIT_ON_CLOSE, JFrame.DISPOSE_ON_CLOSE, JFrame.DO_NOTHING_ON_CLOSE, entre outros.
  • 16. JPanel – contentor que consiste numa janela à qual se podem adicionar outros componentes contentor que consiste num painel ao qual se podem adicionar outros componentes. Este por sua vez é adicionado a uma janela (JFrame). tes. É uma janela com uma barra de título e uma borda. Construtor Descrição JPanel() Constrói um painel. JPanel (LayoutManager layout) Constrói um painel associado a um determinado gestor de layout.
  • 17. 1. Organização de Componentes: permite organizar componentes em layouts complexos de forma eficiente. 2. Personalização Visual: permite personalizar a aparência visual de um JPanel, definindo cores de fundo, bordas e outros atributos visuais. 3. Divisão de Interfaces: O uso de múltiplos JPanels pode facilitar a divisão lógica de uma interface gráfica em diferentes áreas ou seções, tornando o código mais organizado e fácil de manter. Principais Funções da Classe JPanel
  • 18. Exercício Prático Implemente uma aplicação em Java simples que utiliza JFrame para exibir uma janela básica. Passo 1: Configuração do Projeto •Crie um novo projeto Java com o nome aula1_IG. Passo 2: Criação da Classe Principal •Crie uma nova classe Java e dê-lhe a ela um nome significativo, como por exemplo "MinhaJanela".
  • 19. Exercício Prático (cont.) Passo 3: Implementação da Janela Gráfica •Crie uma nova instancia com o nome janela da classe JFrame; •Defina o tamanho da janela utilizando o método setSize(). •Especifique a operação padrão ao fechar a janela utilizando o método setDefaultCloseOperation(). •Torne a janela visível utilizando o método setVisible().
  • 20. MJanela.setSize(300,200); // tamanho da janela (largura, altura) import javax.swing.JFrame; public class MinhaJanela { public MinhaJanela(){ JFrame MJanela= new JFrame(); MJanela.setTitle("A minha janela"); // título da janela MJanela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); MJanela.setVisible(true); // Torna a janela visível } public static void main(String[] args){ new MinhaJanela(); } }
  • 21. Ou setSize(300,200); // tamanho da janela (largura, altura) import javax.swing.JFrame; public class MinhaJanela1 extends JFrame { public MinhaJanela1(){ setTitle("A minha janela"); // título da janela setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); // Torna a janela visível } public static void main(String[] args){ new MinhaJanela(); } }
  • 22. Exercício Prático (cont.) Passo 4: Implementação do painel •Crie uma nova instancia com o nome painel da classe Jpanel (JPanel painel= new JPanel(); •Crie dois botões YES e NO. JButton botao1= new JButton("Yes"); JButton botao2= new JButton("No"); ) • Adicione os dois botões ao painel. painel.add(botao1); painel.add(botao2); • Torne o painel visível utilizando o método setVisible(). • Adicione o painel à janela getContentPane().add(painel) ; • Torne a janela visível utilizando o método setVisible().
  • 23. import javax.swing.*; public class MinhaJanela1Painel extends JFrame{ public MinhaJanela1Painel(){ setTitle("A Minha Janela"); // título da janela setSize(300, 200); // tamanho da janela (largura, altura) setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // operação ao fechar a janela setLocationRelativeTo(null); // a posição da janela como centralizada na tela JPanel painel= new JPanel(); // criar um JPanel JButton botao1= new JButton("Yes"); // criar um botão JButton botao2= new JButton("No"); // criar um botão painel.add(botao1); // adicionar botão ao painel painel.add(botao2); // adicionar botão ao painel painel.setVisible(true); // Torna o painel visível getContentPane().add(painel) ; // adicionar painel à janela setVisible(true); // Torna a janela visível } public static void main(String[] args){ new MinhaJanela1Painel(); }
  • 24. Componentes – JLabel JLabel – componente que consta de um rótulo de texto. Pode ser adicionado a um contentor (JFrame ou JPanel). Construtor Descrição JLabel() Constrói um rótulo sem texto. JLabel(String texto) Constrói um rótulo com o texto indicado no parâmetro. JLabel (Icon icone) Constrói um rótulo com a imagem indicada no parâmetro. JLabel(String texto, int alinhaHoriz) Constrói um rótulo com o texto e o alinhamento* do mesmo, indicados nos parâmetros. JLabel(Icon icone, int alinhaHoriz) Constrói um rótulo com a imagem e o alinhamento da mesma, indicados nos parâmetros. JLabel(String texto, Icon icone, int alinhaHoriz) Constrói um rótulo com o texto, a imagem e o alinhamento dos mesmos, indicados nos parâmetros.
  • 25. Componentes – JTextField (1) JTextField – componente que consta de um campo de texto editável com uma única linha. Habitualmente utiliza-se em conjunto com um rótulo (JLabel). Pode ser adicionado a um contentor (JFrame ou JPanel).
  • 26. Construtor Descrição JTextField() Constrói um campo de texto. JTextField(int colunas) Constrói um campo de texto com o número de colunas indicado no parâmetro. JTextField(String texto) Constrói um campo de texto que contém, como valor por predefinição, o texto indicado no parâmetro. JTextField(String texto, int colunas) Constrói um campo de texto que contém, como valor por predefinição, o texto indicado no parâmetro. A largura do campo é definida pelo número de colunas também indicadas no parâmetro. Componentes – JTextField (2)
  • 27. JTextArea – componente que consta de um campo de texto editável com diversas linhas. Habitualmente utiliza-se em conjunto com um JScrollPane para que as barras de rolamento direita e inferior apareçam quando necessário. Pode ser adicionado a um contentor (JFrame ou JPanel). Componentes – JTextArea (1)
  • 28. Construtor Descrição JTextArea() Constrói uma área de texto com dimensão 0. JTextArea(String texto) Constrói uma área de texto que contém, como valor por predefinição, o texto indicado no parâmetro. JTextArea(int linhas, int colunas) Constrói uma área de texto com o número de linhas e de colunas indicados nos parâmetros. JTextArea(String texto, int linhas, int colunas) Constrói uma área de texto que contém, como valor por predefinição, o texto indicado no parâmetro. As dimensões da área são definidas pelo número de linhas e de colunas também indicadas no parâmetro. Componentes – JTextArea (2)
  • 29. Componentes – JButton JButton – componente que consiste num botão em forma rectangular. Pode ser adicionado a um contentor (JFrame ou JPanel). Construtor Descrição JButton() Constrói um botão sem texto e sem imagem. JButton(String texto) Constrói um botão com o texto indicado no parâmetro. JButton(String texto, Icon icone) Constrói um botão com o texto e a imagem indicados no parâmetro. JButton(Icon icone) Constrói um botão com a imagem indicada no parâmetro.
  • 30.
  • 31. Exercício Prático (cont.) • Alterar o título • Alterar o tamanho • Alterar a posição (centro) • o ícone da janela, • Definir o layout da janela • Adicionar um rótulo à janela • Adicionar um botão à janela • Alterar a cor • Definir o tamanho com base nos tamanhos dos subcomponentes. • set.Title(); •set.Size(); •setLocationRelativeTo(null); •setIconImage(new ImageIcon(“C:...icon.jpg”).getImage()); •setLayout(new FlowLayout()); •JLabel label = new JLabel("Olá, mundo!"); add(label); •JButton button = new JButton("Clique aqui"); add(button); •setBackground(color.cyan); •pack(); Passo 6: Experimentação
  • 32. import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JButton; import javax.swing.ImageIcon; public class MinhaJanela2 extends JFrame{ public MinhaJanela2(){ super("A Minha Janela"); // título da janela setSize(500, 300); // tamanho da janela (largura, altura) setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // operação ao fechar a janela setLocationRelativeTo(null); // a posição da janela como centralizada na tela setIconImage(new ImageIcon("D:ANAESCOLAS2023-2024 AEF2023-2024 AEF11ºPSI - GPI22M11 – Programação Orientada a Objetos Avançada (50)Projetosaula1_IGicon1.jpg").getImage()); JLabel rotulo= new JLabel("Isto é um rótulo"); add(rotulo); JButton botao = new JButton("Clique aqui!"); add(botao); setVisible(true); // Torna a janela visível } public static void main(String[] args){ new MinhaJanela2();} } }