Java - Interface Gráfica: Trabalho
De Aulas
Afluentes: Programação em Java
Enunciado
O grupo deve desenvolver um Programa em Java usando Swing e AWT. Cada membro do grupo deve ser responsável por um módulo do programa e todos os módulos devem ter a ver com o programa principal.
Etapas
- Definição do programa: propoósito, informações relevantes, relação dos dados e dos módulos;
- Separação dos módulos por membro do grupo;
- Desenvolvimento dos módulos;
- Junção dos Módulos na janela principal;
- Antes de terminar a aula, cada grupo deve mostrar para o professor rápidamente o que desenvolveram;
- Apresentação do programa na aula seguinte.
Observações
- Os dados gerenciados pelos usuários, para que possa ser acessado pelos outros módulos (janelas), podem ser colocados em classes estáticas.
- A Janela principal tem um menu que chama os módulos;
- A janela principal também também é um módulo que possui informações, mostra dados e tem interação com o usuário e um dos membros do grupo deve ficar responsável pelo desenvolvimento dessa classe;
- O programa deve utilizar todos os recursos vistos em aulas: Janelas, layouts, checkbox, combobox, listas, diálogos, menus, tabelas, eventos;
Apresentação
As considerações a seguir são usadas como critério de avaliação:
- Cada aluno será responsável pela apresentação do código do seu módulo e é possível descontar pontos individualmente;
- O professor pode fazer perguntas individualmente para cada aluno e ele é responsável por respondê-las;
- Quando explicarem o código, sejam claros e diretos;
- O código para apresentação não deve conter comentários;
- O aluno deve apresentar com a webcam ligada. Se não tens webcam, use um celular com aplicativo que simula, tipo o Droidcam;
- Se algum aluno não desenvolveu sua parte, não descontarei pontos do grupo por isso, apenas o aluno ficará sem nota;
Uso de atributos estáticos
Esse exemplo não é um exemplo de programa, é apenas exemplificando o uso dos atributos estáticos das classes para serem compartilhados pelos módulos do programa.
- Classe Pessoa
A Classe pessoa possui dados compartilhados na forma de atributos estáticos
1import java.util.ArrayList;
2import java.util.List;
3
4public class Pessoa {
5 // Atributos estáticos são da classe e são compartilhados.
6 // Observe que eles precisam ser públicos
7 public static String nome;
8 public static String CPF;
9 public static int idade;
10 // Pode ter Lists também
11 public static List<Float> notas = new ArrayList<Float>();
12}
- Classe Cadastro
Essa classe faz a leitura dos dados
1import java.util.regex.Pattern;
2
3import javax.swing.JOptionPane;
4
5public class Cadastro {
6 public static void main(String[] args) {
7 /*
8 Veja que para acessar qualquer atributo estático da classe, basta
9 colocar o nome da classe, seguido de ponto e o nome do atributo
10 estático.
11
12 Cuidado, pois se em qualquer parte do programa esse atributo for
13 modificado, ele é modificado para todos.
14 */
15 Pessoa.nome = JOptionPane.showInputDialog(null, "Digite o nome: ");
16 Pessoa.idade = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite a idade: "));
17 Pessoa.CPF = JOptionPane.showInputDialog(null, "Digite o CPF: ");
18
19 // Vamos pegar vários floats em uma entrada só
20 String notas = JOptionPane.showInputDialog(null, "Digite as notas separado por vírgula: ");
21 // Quebramos a string, com cada valor separado por vírgula e jogamos no List
22 String[] vet = notas.split(Pattern.quote (","));
23 for(String valor:vet) {
24 Pessoa.notas.add(Float.parseFloat(valor));
25 }
26
27 String texto = Pessoa.nome + ", com CPF no. " + Pessoa.CPF + " tem " + Pessoa.idade + " anos";
28 texto += " suas notas são: ";
29 for (Float nota : Pessoa.notas) {
30 texto += nota + ", ";
31 }
32
33 JOptionPane.showMessageDialog(null, texto, "Informações", JOptionPane.OK_OPTION);
34 }
35}