Trabalho final
Conferência
terça-feira, 22 de novembro de 2011
terça-feira, 8 de novembro de 2011
quarta-feira, 26 de outubro de 2011
Aula 13 - 01.11.2011 (Não-presencial)
Caros alunos,
Comunico a todos que excepcionalmente nesta terça-feira, dia 01.11.2011, precisarei me ausentar de Porto Alegre para tratar de assuntos familiares, de forma que combinei com o prof. Jaime a realização de uma aula não-presencial. Como vocês estão cheios de trabalho para fazer sugiro que foquem nesses trabalhos e façam como alguns alunos que estão fazendo, ou seja, enviando as questões por e-mail:
- 2 exercícios da apostila Caelum:
- 1 que deveria ser entregue ontem - poucos entregaram;
- Outro a ser entregue no dia 01.11.
- Porém, vou dar mais um prazo, até dia 08.11 para entregar os 2.
- Trabalho final da disciplina.
- Comecem a desenhar as telas e a tem utilizar o padrão MVC no projeto.
Agradeço desde já a compreensão e me coloco à disposição para retornar os e-mails enviados.
terça-feira, 25 de outubro de 2011
segunda-feira, 17 de outubro de 2011
domingo, 9 de outubro de 2011
Aula 10 - 11.10.2011
Prova
Conferência!!
Trabalho de Recuperação
Baseado em http://www.caelum.com.br/download/caelum-java-objetos-fj11.pdf
Fase 1:
Conferência!!
Trabalho de Recuperação
Baseado em http://www.caelum.com.br/download/caelum-java-objetos-fj11.pdf
Fase 1:
- Ler, aprender e fazer todos os códigos da apostila da página 14 até página a 43 (29 pgs).
- Responder todos os exercícios que estão nos itens 4.11, 4.12 e 4.13 e entregar até 18.10.2011.
Fase 2:
- Ler, aprender e fazer todos os códigos da apostila da página 49 até página a 69 (20 pgs).
- Responder todos os exercícios que estão nos itens 6.8 e 6.9 e entregar até 01.11.2011.
terça-feira, 4 de outubro de 2011
segunda-feira, 19 de setembro de 2011
Aula 8 - 27.09.2011
Palestra
Neste dia, haverá uma palestra no início da aula sobre SOA - Service-oriented Arquitecture (http://pt.wikipedia.org/wiki/Service-oriented_architecture), ministrada pelo sr. Robson Vargas Farias.
Dicas de Java para auxiliar nas atividades:
1) Como obter o índice de um JComboBox:
int i = jComboBox1.getSelectedIndex(); //lembrar que começa do zero.
2) Como converter texto em data e vice-versa:
Neste dia, haverá uma palestra no início da aula sobre SOA - Service-oriented Arquitecture (http://pt.wikipedia.org/wiki/Service-oriented_architecture), ministrada pelo sr. Robson Vargas Farias.
Dicas de Java para auxiliar nas atividades:
1) Como obter o índice de um JComboBox:
int i = jComboBox1.getSelectedIndex(); //lembrar que começa do zero.
2) Como converter texto em data e vice-versa:

terça-feira, 13 de setembro de 2011
Aula 7 - 13.09.2011 - Dicas
Para utilizar um JTextPane centralizado:
StyledDocument doc = jTextPane1.getStyledDocument();
SimpleAttributeSet center = new SimpleAttributeSet();
StyleConstants.setAlignment(center, StyleConstants.ALIGN_CENTER);
doc.setParagraphAttributes(0, doc.getLength(), center, false);
StyledDocument doc = jTextPane1.getStyledDocument();
SimpleAttributeSet center = new SimpleAttributeSet();
StyleConstants.setAlignment(center, StyleConstants.ALIGN_CENTER);
doc.setParagraphAttributes(0, doc.getLength(), center, false);
segunda-feira, 12 de setembro de 2011
Aula 7 - 13.09.2011
Exercícios para hoje:
1) Faça um programa que permite o usuário digitar o nome de uma pessoa e 4 notas. Ao clicar em um botão, o sistema deve mostrar a média das 4 notas.
2) Faça um programa leia um nome e que possua as questões abaixo escritas em JLabel, cada uma com 2 JRadioButtons contendo as respostas SIM e NÃO. Ao final, o usuário deve pressionar um botão que irá dar a seguinte mensagem:
> 3 respostas SIM: "Parabéns [nome]!!! Você é uma pessoa feliz".
=3 respostas SIM: "[nome], você está no limite da felicidade. Avalie a si mesmo."
<3 respostas SIM: "[nome], você parece estar com a autoestima baixa. Verifique."
Perguntas:
1 - Você gosta de si mesmo?
2 - Você é otimista?
3 - Você gosta do mundo?
4 - Você tem muitos amigos?
5 - Você pratica esportes?
6 - Você escuta música?
3) Faça um programa que leia um valor em uma moeda (R$, U$ ou €) e uma cotação sobre esta moeda e converta para a moeda especificada. Usar JComboBox para escolher o tipo de moeda.
4) Faça um programa que calcule o consumo médio de um veículo, dada a distância percorrida e a quantidade de litros consumidos.
5) Faça um programa que permite o usuário digitar o nome de uma pessoa e sua data de nascimento. Ao clicar em um botão, o sistema mostra o signo da pessoa.
6) Ler o nome, o sexo, o estado civil e a data de nascimento de uma pessoa e apresentar a seguinte mensagem:
"Boa noite Senhor [nome]" ou "Boa noite Senhora [nome]", dependendo de seu sexo.
Se tiver menos de 18 anos, "Boa noite [nome]"
Se for mulher, for maior de 18 anos, mas for solteira, "Boa noite Senhorita [nome]"
Se for mulher e for maior de 55 anos, "Boa noite Dona [nome]"
Se for homem e for maior de 60 anos, "Boa noite Seu [nome]"
Em todas as situações mostrar ao final "Sua idade é x anos".
Adicionar as mensagens a um JList para ficar como histórico.
7) Faça um programa que leia duas datas com hora, minuto e segundo e informe os seguintes dados:
- Cálculo da idade em anos, meses, dias, horas, minutos e segundos entre as datas informadas.
- Faça com que exista um botão que alimente a segunda data com a data e hora do computador, para evitar que o usuário precise digitá-las.
8) Faça um programa que calcule o IMC (índice de massa corporal) com base nos dados:
IMC = peso / (altura)²
Condição IMC em (M)ulheres e (H)omens, respectivamente:
Abaixo do peso
M < 19,1
H < 20,7
Peso ideal
Mulheres 19,1 - 25,8
Homens 20,7 - 26,4
Acima disto considere como obeso.
9) Faça um programa simples de conversão de temperatura: Celsius, Kelvin, Fahrenheit. Buscar as fórmulas na Internet e conferir se estão corretas utilizando o próprio programa.
10) Simular a venda de produtos, onde o usuário escolhe alguns entre 10 produtos pré-listados com JLabels para o nome e o valor do mesmo e um JCheckBox para a escolha do produto. Após, digita a quantidade a ser comprada em um JTextField. Ao final, quando o usuário clicar em um JButton, o programa deve apresentar o valor total da venda somente para os produtos que foram marcados no JCheckBox.
11) Faça um programa que solicite a idade de 10 pessoas usando JOptionPane e em seguida mostre:
A média das idades, a maior idade e a menor idade.
12) Faça um programa em java que a manipulação de um JComboBox modifique o texto de uma label.
Coloque um campo de texto e dois botões, um para adicionar novos itens ao JComboBox e outro para remover itens.
1) Faça um programa que permite o usuário digitar o nome de uma pessoa e 4 notas. Ao clicar em um botão, o sistema deve mostrar a média das 4 notas.
2) Faça um programa leia um nome e que possua as questões abaixo escritas em JLabel, cada uma com 2 JRadioButtons contendo as respostas SIM e NÃO. Ao final, o usuário deve pressionar um botão que irá dar a seguinte mensagem:
> 3 respostas SIM: "Parabéns [nome]!!! Você é uma pessoa feliz".
=3 respostas SIM: "[nome], você está no limite da felicidade. Avalie a si mesmo."
<3 respostas SIM: "[nome], você parece estar com a autoestima baixa. Verifique."
Perguntas:
1 - Você gosta de si mesmo?
2 - Você é otimista?
3 - Você gosta do mundo?
4 - Você tem muitos amigos?
5 - Você pratica esportes?
6 - Você escuta música?
3) Faça um programa que leia um valor em uma moeda (R$, U$ ou €) e uma cotação sobre esta moeda e converta para a moeda especificada. Usar JComboBox para escolher o tipo de moeda.
4) Faça um programa que calcule o consumo médio de um veículo, dada a distância percorrida e a quantidade de litros consumidos.
5) Faça um programa que permite o usuário digitar o nome de uma pessoa e sua data de nascimento. Ao clicar em um botão, o sistema mostra o signo da pessoa.
6) Ler o nome, o sexo, o estado civil e a data de nascimento de uma pessoa e apresentar a seguinte mensagem:
"Boa noite Senhor [nome]" ou "Boa noite Senhora [nome]", dependendo de seu sexo.
Se tiver menos de 18 anos, "Boa noite [nome]"
Se for mulher, for maior de 18 anos, mas for solteira, "Boa noite Senhorita [nome]"
Se for mulher e for maior de 55 anos, "Boa noite Dona [nome]"
Se for homem e for maior de 60 anos, "Boa noite Seu [nome]"
Em todas as situações mostrar ao final "Sua idade é x anos".
Adicionar as mensagens a um JList para ficar como histórico.
7) Faça um programa que leia duas datas com hora, minuto e segundo e informe os seguintes dados:
- Cálculo da idade em anos, meses, dias, horas, minutos e segundos entre as datas informadas.
- Faça com que exista um botão que alimente a segunda data com a data e hora do computador, para evitar que o usuário precise digitá-las.
8) Faça um programa que calcule o IMC (índice de massa corporal) com base nos dados:
IMC = peso / (altura)²
Condição IMC em (M)ulheres e (H)omens, respectivamente:
Abaixo do peso
M < 19,1
H < 20,7
Peso ideal
Mulheres 19,1 - 25,8
Homens 20,7 - 26,4
Acima disto considere como obeso.
9) Faça um programa simples de conversão de temperatura: Celsius, Kelvin, Fahrenheit. Buscar as fórmulas na Internet e conferir se estão corretas utilizando o próprio programa.
10) Simular a venda de produtos, onde o usuário escolhe alguns entre 10 produtos pré-listados com JLabels para o nome e o valor do mesmo e um JCheckBox para a escolha do produto. Após, digita a quantidade a ser comprada em um JTextField. Ao final, quando o usuário clicar em um JButton, o programa deve apresentar o valor total da venda somente para os produtos que foram marcados no JCheckBox.
11) Faça um programa que solicite a idade de 10 pessoas usando JOptionPane e em seguida mostre:
A média das idades, a maior idade e a menor idade.
12) Faça um programa em java que a manipulação de um JComboBox modifique o texto de uma label.
Coloque um campo de texto e dois botões, um para adicionar novos itens ao JComboBox e outro para remover itens.
segunda-feira, 29 de agosto de 2011
Aula 6 - 06.09.2011
Apresentação de Trabalho - Design Patterns.
NOME | Pattern |
ANDRE LUIS DOS SANTOS | proxy |
AQUILES FLORES CARVALHO | memento |
CARLOS LUIZ BARBOSA RIBEIRO | proxy |
DIEGO BARBOZA MACIEL | facade |
GUILHERME FRANCESCHINI MALUF | interpreter |
JOSUE HENNEMANN VERGARA DE SOUZA | builder |
JULIANO DA SILVEIRA RAMOS | |
JULIANO SANTOS REZENDE | visitor |
KELLEN SCHRODER DEVIT | factory method |
NELSON GUERREIRO ALVES | observer |
PIETRO TONON SCHAFF | builder |
RENAN CHILANTI | adapter |
RODRIGO DA SILVA MARTINS | prototype |
Aula 5 - 30.08.2011
Exercício
Desenvolver uma View e um Controller CRUD para o Model UF:
- codigo: String
- nome: String
- pais: Pais
Utilizar as classes JTextField para os atributos codigo e nome e um JComboBox para o pais.
Exemplo de tela:
Desenvolver uma View e um Controller CRUD para o Model UF:
- codigo: String
- nome: String
- pais: Pais
Utilizar as classes JTextField para os atributos codigo e nome e um JComboBox para o pais.
Exemplo de tela:
terça-feira, 23 de agosto de 2011
Aula 4 - 23.08.2011
Exercício:
- Criar tela de menu principal conforme imagem abaixo:

- Criar classe Pais.java (atributos codigo, nome e obs)
* Métodos set's e get's
- Criar classe PaisCtrl.java (atributo static ArrayList<Pais> paises)
* Métodos add(), remove(), getAll(), get()
- Criar a classe JPais.java (conforme imagem acima).
LookAndFeel
import java.awt.*;
import javax.swing.*;
public class LookAndFeelUtil {
public static final String JAVA_LAF = "javax.swing.plaf.metal.MetalLookAndFeel";
public static final String WIN_LAF = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
public static final String LINUX_LAF = "com.sun.java.swing.plaf.motif.MotifLookAndFeel";
public static final String MAC_LAF = "com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel";
public static void change(Component c, String laf) {
try {
UIManager.setLookAndFeel(laf);
SwingUtilities.updateComponentTreeUI(c);
} catch (Exception e) {
e.printStackTrace();
}
}
}
import javax.swing.*;
public class LookAndFeelUtil {
public static final String JAVA_LAF = "javax.swing.plaf.metal.MetalLookAndFeel";
public static final String WIN_LAF = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
public static final String LINUX_LAF = "com.sun.java.swing.plaf.motif.MotifLookAndFeel";
public static final String MAC_LAF = "com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel";
public static void change(Component c, String laf) {
try {
UIManager.setLookAndFeel(laf);
SwingUtilities.updateComponentTreeUI(c);
} catch (Exception e) {
e.printStackTrace();
}
}
}
segunda-feira, 22 de agosto de 2011
Aula 4 - 23.08.2011
Menu Principal em Java AWT/Swing
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JMenuPrincipal extends JFrame {
public JMenuPrincipal() {
initComponents();
}
private void initComponents() {
setTitle("Sistema de Cadastro");
setLayout(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Cria JMenuBar...
JMenuBar jMenuBar = new JMenuBar();
JMenu jMenu1_1 = new JMenu("Cadastros");
JMenuItem jMenuItem1_1_1 = new JMenuItem("Pessoas");
JSeparator jSeparator1 = new JSeparator();
JMenuItem jMenuItem1_1_2 = new JMenuItem("Países");
jMenuItem1_1_2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
abrirPaises();
}
});
JMenuItem jMenuItem1_1_3 = new JMenuItem("Estados");
JMenuItem jMenuItem1_1_4 = new JMenuItem("Cidades");
JSeparator jSeparator2 = new JSeparator();
JMenuItem jMenuItem1_1_5 = new JMenuItem("Sair");
jMenuBar.add(jMenu1_1);
jMenu1_1.add(jMenuItem1_1_1);
jMenu1_1.add(jSeparator1);
jMenu1_1.add(jMenuItem1_1_2);
jMenu1_1.add(jMenuItem1_1_3);
jMenu1_1.add(jMenuItem1_1_4);
jMenu1_1.add(jSeparator2);
jMenu1_1.add(jMenuItem1_1_5);
JMenu jMenu1_2 = new JMenu("Consultas");
jMenuBar.add(jMenu1_2);
JMenuItem jMenuItem1_2_1 = new JMenuItem("Pessoas");
JMenuItem jMenuItem1_2_2 = new JMenuItem("Países");
JMenuItem jMenuItem1_2_3 = new JMenuItem("Estados");
JMenuItem jMenuItem1_2_4 = new JMenuItem("Cidades");
jMenu1_2.add(jMenuItem1_2_1);
jMenu1_2.add(jMenuItem1_2_2);
jMenu1_2.add(jMenuItem1_2_3);
jMenu1_2.add(jMenuItem1_2_4);
jMenuItem1_1_5.setActionCommand("EXIT");
jMenuItem1_1_5.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
sair();
}
});
JMenu jMenu2 = new JMenu("Ajuda");
JMenuItem jMenuItem2_1 = new JMenuItem("Sobre...");
jMenu2.add(jMenuItem2_1);
jMenuBar.add(jMenu2);
this.setJMenuBar(jMenuBar);
// Cria JToolBar...
JToolBar jToolBar1 = new JToolBar();
jToolBar1.setRollover(true);
JButton jButton_Sair = new JButton("Sair");
jButton_Sair.setFocusable(false);
jButton_Sair.setBorderPainted(false);
jToolBar1.add(jButton_Sair);
jButton_Sair.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
sair();
}
});
jToolBar1.setBounds(0, 0, 800, 30);
getContentPane().add(jToolBar1);
int w = 800;
int h = 600;
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setBounds((screenSize.width - w) / 2, (screenSize.height - h) / 2, w, h);
repaint();
}
private void abrirPaises() {
new JPaises(this, true).setVisible(true);
}
private void sair() {
if (JOptionPane.showConfirmDialog(this, "Deseja mesmo sair?") == JOptionPane.YES_OPTION)
System.exit(0);
}
public static void main(String[] args) {
//JFrame.setDefaultLookAndFeelDecorated(true);
JMenuPrincipal m = new JMenuPrincipal();
m.setVisible(true);
}
}
domingo, 14 de agosto de 2011
Aula 3 - 16.08.2011
ActionListener
//Anonymous inner class listener
b1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// Coloque seu código aqui...
}
});
--------------
import java.text.*;
import javax.swing.*;
import java.awt.event.*;
public class Calculadora extends JFrame {
private JTextField v1, v2;
private JButton b1;
public Calculadora() {
initComponents();
}
private void initComponents() {
setTitle("Calculadora");
setBounds(100, 100, 400, 400);
setLayout(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
v1 = new JTextField();
v1.setBounds(10, 10, 60, 23);
v2 = new JTextField();
v2.setBounds(10, 40, 60, 23);
b1 = new JButton("Somar");
b1.setBounds(10, 70, 90, 23);
b1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Float _v1 = Float.valueOf(v1.getText());
Float _v2 = Float.valueOf(v2.getText());
Float r = _v1 / _v2;
DecimalFormat df = new DecimalFormat("0.##");
JOptionPane.showMessageDialog(null, df.format(r));
}
});
add(v1);
add(v2);
add(b1);
}
public static void main(String[] args) {
Calculadora c = new Calculadora();
c.setVisible(true);
}
}
--------------
//Anonymous inner class listener
b1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// Coloque seu código aqui...
}
});
--------------
import java.text.*;
import javax.swing.*;
import java.awt.event.*;
public class Calculadora extends JFrame {
private JTextField v1, v2;
private JButton b1;
public Calculadora() {
initComponents();
}
private void initComponents() {
setTitle("Calculadora");
setBounds(100, 100, 400, 400);
setLayout(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
v1 = new JTextField();
v1.setBounds(10, 10, 60, 23);
v2 = new JTextField();
v2.setBounds(10, 40, 60, 23);
b1 = new JButton("Somar");
b1.setBounds(10, 70, 90, 23);
b1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Float _v1 = Float.valueOf(v1.getText());
Float _v2 = Float.valueOf(v2.getText());
Float r = _v1 / _v2;
DecimalFormat df = new DecimalFormat("0.##");
JOptionPane.showMessageDialog(null, df.format(r));
}
});
add(v1);
add(v2);
add(b1);
}
public static void main(String[] args) {
Calculadora c = new Calculadora();
c.setVisible(true);
}
}
--------------
Trabalho: Design Patterns
domingo, 7 de agosto de 2011
Aula 2 - 09.08.2011
Listeners
- Listeners são a forma como se adiciona ação aos componentes AWT/Swing.
- Um Listener permite 'escutar' eventos gerados pelo sistema (clique ou movimento de mouse, pressionar tecla do teclado, etc).
Links interessantes:
Tabela de Componentes x Listener:
- Listeners são a forma como se adiciona ação aos componentes AWT/Swing.
- Um Listener permite 'escutar' eventos gerados pelo sistema (clique ou movimento de mouse, pressionar tecla do teclado, etc).
Links interessantes:
- Tutorial bem completo: http://home.cogeco.ca/~ve3ll/jatutor0.htm
- http://download.oracle.com/javase/tutorial/uiswing/events/eventsandcomponents.html
- http://javanoroeste.com.br/javanoroeste/novo/artigos/swing_basico.html
- http://www.herongyang.com/Swing/
- http://zetcode.com/tutorials/javaswingtutorial/swingevents/
- http://www.cs.lmu.edu/~ray/
notes/swing/ - Componentes x Listener
Tabela de Componentes x Listener:
terça-feira, 2 de agosto de 2011
Aula 1 - 02.08.2011 - Introdução à Programação Corporativa
Tópicos importantes que serão estudados:
- Interface homem-máquina
- Orientação a Objetos e UML
- Design Patterns
- Banco de dados relacional
Estrutura de Classes AWT/Swing:
Assinar:
Postagens (Atom)



