Sessão 4:
Antes de iniciarmos nos applets temos que fazer a seguinte configuração no painel de controle:
Feito isso podemos dar prosseguimento nos exemplos utilizando applets.
- /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
- package visao;
- import java.applet.Applet;
- import java.awt.Graphics;
- /**
- *
- * @author Paulo Henrique Cayres
- */
- public class ExemploApplet extends Applet {
- @Override
- public void init( ){
- // Inicializa a applet
- }
- @Override
- public void start( ){
- // Dispara a execução de uma applet
- }
- @Override
- public void stop( ){
- // Pára a execução de uma applet
- }
- @Override
- public void destroy( ){
- // Destrói definitivamente uma applet
- }
- @Override
- public void paint(Graphics g){
- //...
- }
- }
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
- package visao;
- import java.applet.Applet;
- import java.awt.Color;
- import java.awt.Graphics;
- /**
- *
- * @author Paulo Henrique Cayres
- */
- public class ExemploApplet02 extends Applet{
- private int x,y,tam;
- /**
- * Faz o papel do construtor
- */
- @Override
- public void init( ){
- x = 10; y = 10; tam = 0;
- }
- /**
- * Ativado logo após init e toda a vez que a applet for revisitado
- */
- @Override
- public void start( ){
- tam += 5;
- }
- /**
- * Ativado sempre que a applet pode parar de executar (não está visível)
- * @param g
- */
- @Override
- public void paint(Graphics g){
- g.setColor(new Color(200,123,212));
- g.fillRect(x,y,tam,10);
- }
- @Override
- public void stop(){
- }
- }
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
- package visao;
- import java.applet.AppletContext;
- import java.applet.AudioClip;
- import java.net.MalformedURLException;
- import java.net.URL;
- import javax.swing.JApplet;
- /**
- *
- * @author Paulo Henrique Cayres
- */
- public class ExemploAudioApplet extends JApplet {
- private AudioClip clip;
- private AppletContext context;
- public void init()
- {
- context = this.getAppletContext();
- String audioURL = this.getParameter("audio");
- if(audioURL == null)
- {
- audioURL = "audio\\spacemusic.au";
- }
- try
- {
- URL url = new URL(this.getDocumentBase(), audioURL);
- clip = context.getAudioClip(url);
- clip.play();
- }catch(MalformedURLException e)
- {
- e.printStackTrace();
- context.showStatus("Could not load audio file!");
- }
- }
- public void start()
- {
- if(clip != null)
- {
- clip.loop();
- }
- }
- public void stop()
- {
- if(clip != null)
- {
- clip.stop();
- }
- }
- }
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
- package visao;
- import java.awt.Graphics;
- import java.awt.event.MouseEvent;
- import java.awt.event.MouseListener;
- import javax.swing.JApplet;
- /**
- *
- * @author Paulo Henrique Cayres
- */
- public class ExemploControleEventoMouseApplet extends JApplet implements MouseListener {
- StringBuffer strBuffer;
- public void init() {
- addMouseListener(this);
- strBuffer = new StringBuffer();
- addItem("initializing the apple ");
- }
- public void start() {
- addItem("starting the applet ");
- }
- public void stop() {
- addItem("stopping the applet ");
- }
- public void destroy() {
- addItem("unloading the applet");
- }
- void addItem(String word) {
- System.out.println(word);
- strBuffer.append(word);
- repaint();
- }
- public void paint(Graphics g) {
- //Draw a Rectangle around the applet's display area.
- g.drawRect(0, 0,
- getWidth() - 1,
- getHeight() - 1);
- //display the string inside the rectangle.
- g.drawString(strBuffer.toString(), 10, 20);
- }
- @Override
- public void mouseClicked(MouseEvent e) {
- addItem("mouse clicked! ");
- }
- @Override
- public void mousePressed(MouseEvent e) {
- }
- @Override
- public void mouseReleased(MouseEvent e) {
- }
- @Override
- public void mouseEntered(MouseEvent e) {
- addItem("mouse entered! ");
- }
- @Override
- public void mouseExited(MouseEvent e) {
- addItem("mouse exited! ");
- }
- }
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
- package visao;
- import java.applet.AppletContext;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.net.MalformedURLException;
- import java.net.URL;
- import javax.swing.JApplet;
- /**
- *
- * @author Paulo Henrique Cayres
- */
- public class ExemploImgApplet extends JApplet {
- private Image image;
- private AppletContext context;
- public void init()
- {
- context = this.getAppletContext();
- System.out.println(context);
- String imageURL = this.getParameter("image");
- if(imageURL == null)
- {
- imageURL = "lock.png";
- }
- try
- {
- URL url = new URL(this.getDocumentBase(), imageURL);
- image = context.getImage(url);
- }catch(MalformedURLException e)
- {
- e.printStackTrace();
- // Display in browser status bar
- context.showStatus("Could not load image!");
- }
- }
- public void paint(Graphics g)
- {
- context.showStatus("Visualizando image");
- g.drawImage(image, 50, 50, 16, 16, null);
- repaint();
- }
- }
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
- package visao;
- import java.awt.Color;
- import java.awt.FlowLayout;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.KeyEvent;
- import javax.swing.JApplet;
- import javax.swing.JButton;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.JTextField;
- import modelo.Mensagem;
- /**
- *
- * @author Instrutor
- */
- public class ExemploJAppletGUI extends JApplet {
- private JLabel lNome;
- private JTextField tfNome;
- private JButton jbMensagem;
- private JPanel painel;
- private Mensagem m;
- /**
- * Initialization method that will be called after the applet is loaded into
- * the browser.
- */
- public void init() {
- // TODO start asynchronous download of heavy resources
- painel = new JPanel();
- painel.setBackground(Color.WHITE);
- painel.setLayout(new FlowLayout());
- lNome = new JLabel("Digite seu nome: ");
- painel.add(lNome);
- tfNome = new JTextField(15);
- painel.add(tfNome);
- jbMensagem = new JButton("Mensagem");
- jbMensagem.setMnemonic(KeyEvent.VK_M);
- jbMensagem.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent ae) {
- m = new Mensagem(tfNome.getText());
- javax.swing.JOptionPane.showMessageDialog(null, m.getMensagem());
- }
- });
- painel.add(jbMensagem);
- add(painel);
- }
- // TODO overwrite start(), stop() and destroy() methods
- }
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Atividades Práticas - Sessão 4
- /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
- package visao;
- import javax.swing.JApplet;
- /**
- *
- * @author Instrutor
- */
- public class Exercicio02 extends JApplet {
- GUIPessoa guiPessoa;
- /**
- * Initialization method that will be called after the applet is loaded into
- * the browser.
- */
- public void init() {
- // TODO start asynchronous download of heavy resources
- guiPessoa = new GUIPessoa();
- add(guiPessoa);
- }
- // TODO overwrite start(), stop() and destroy() methods
- }
GuiPessoa:
- /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
- package visao;
- import controle.ControlePessoa;
- import modelo.Pessoa;
- /**
- *
- * @author Instrutor
- */
- public class GUIPessoa extends javax.swing.JPanel {
- /**
- * Creates new form GUIPessoa
- */
- public GUIPessoa() {
- initComponents();
- cPessoas = new ControlePessoa();
- }
- /**
- * This method is called from within the constructor to initialize the form.
- * WARNING: Do NOT modify this code. The content of this method is always
- * regenerated by the Form Editor.
- */
- @SuppressWarnings("unchecked")
- private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
- // TODO add your handling code here:
- Pessoa p = new Pessoa(jTextField1.getText(),Integer.parseInt(jTextField2.getText()));
- cPessoas.addPessoa(p);
- jTextField1.setText("");
- jTextField2.setText("");
- jTextField1.requestFocus();
- }
- private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
- // TODO add your handling code here:
- Pessoa p = cPessoas.getPessoa(jTextField1.getText());
- if(p != null){
- jTextField2.setText(String.valueOf(p.getIdade()));
- jTextField1.requestFocus();
- }
- else{
- javax.swing.JOptionPane.showMessageDialog(null, "Objeto não cadastrado", "Mensagem", javax.swing.JOptionPane.INFORMATION_MESSAGE);
- jTextField1.setText("");
- jTextField2.setText("");
- jTextField1.requestFocus();
- }
- }
- private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
- // TODO add your handling code here:
- jTextArea1.setText(cPessoas.ordenaPorNome());
- }
- // Variables declaration - do not modify
- private javax.swing.JButton jButton1;
- private javax.swing.JButton jButton2;
- private javax.swing.JButton jButton3;
- private javax.swing.JLabel jLabel1;
- private javax.swing.JLabel jLabel2;
- private javax.swing.JLabel jLabel3;
- private javax.swing.JScrollPane jScrollPane1;
- private javax.swing.JTextArea jTextArea1;
- private javax.swing.JTextField jTextField1;
- private javax.swing.JTextField jTextField2;
- // End of variables declaration
- private ControlePessoa cPessoas;
- }
- /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
- package controle;
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.HashMap;
- import modelo.Pessoa;
- /**
- *
- * @author Paulo Henrique Cayres
- */
- public class ControlePessoa {
- private ArrayList<Pessoa> pessoas = new ArrayList<>();
- public void addPessoa(Pessoa p){
- pessoas.add(p);
- }
- public Pessoa getPessoa(String nome){
- HashMap<String, Pessoa> p = new HashMap<String, Pessoa>();
- for(Pessoa temp: pessoas)
- p.put(temp.getNome(), temp);
- return p.get(nome);
- }
- public String ordenaPorNome(){
- String retorno="";
- Collections.sort(pessoas);
- for(Pessoa temp: pessoas)
- retorno += temp.getNome()+"\n";
- return retorno;
- }
- }
Ao se digitar o nome Renato e clicar em consultar será exibido o nome e a idade:
Ao se clicar em consultar, mas não for digitado nada na caixa de texto irá mostrar mensagem de objeto não cadastrado:
Ao se salvar os dados e se clicar em listar irá mostrar no campo textarea abaixo:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx










 
No comments:
Post a Comment