Advertisement
xlrnxnlx

PokedexController

May 13th, 2014
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.54 KB | None | 0 0
  1. package pokedex.controll;
  2.  
  3. import java.awt.Component;
  4. import java.awt.event.*;
  5. import java.util.ArrayList;
  6. import javax.swing.*;
  7. import pokedex.dao.PokedexDataAccess;
  8. import pokedex.model.Pokemon;
  9. import pokedex.view.MainWindow;
  10.  
  11. public class PokedexController extends MouseAdapter implements ActionListener, FocusListener, ItemListener {
  12.  
  13.     private ArrayList<Pokemon> POKELIST;
  14.     private ArrayList<String> POKELISTNAME;
  15.     private PokedexDataAccess data;
  16.     private MainWindow window;
  17.  
  18.     public PokedexController(MainWindow window) {
  19.         this.window = window;
  20.         for (int i = 0; i < window.MAXBUTTONS; i++) {
  21.             setListener(window.getButtonByIndex(i));
  22.         }
  23.         for (int i = 0; i < window.MAXTEXTFIELDS - 1; i++) {
  24.             setListener(window.getTextFieldByIndex(i));
  25.         }
  26.         setListener(window.getTextArea());
  27.         window.getComboBox().addActionListener(this);
  28.         window.getComboBox().addItemListener(this);
  29.  
  30.         data = new PokedexDataAccess();
  31.         uptComboBox(0);
  32.     }
  33.  
  34.     public void uptComboBox(int select) {
  35.         data.select();
  36.         POKELIST = data.getPokeList();
  37.         POKELISTNAME = data.getPokelistname();
  38.        
  39.         if (window.getComboBox().getItemCount() > 0)
  40.             window.getComboBox().removeAllItems();
  41.        
  42.         window.getComboBox().addItem("- INIT -");
  43.         for (String pokename : POKELISTNAME) {
  44.             window.getComboBox().addItem(pokename);
  45.         }
  46.        window.getComboBox().setSelectedIndex(select);
  47.     }
  48.  
  49.     @Override
  50.     public void actionPerformed(ActionEvent e) {
  51.         Object o = e.getSource();
  52.         if (o instanceof JButton) {
  53.             JButton button = (JButton) e.getSource();
  54.             switch (button.getText().toLowerCase()) {
  55.                 case "inserir":
  56.                     EXEC_TYPE = 1;
  57.                     setNewPokemonAndExec();
  58.                     break;
  59.                 case "atualizar":
  60.                     EXEC_TYPE = 2;
  61.                     window.setTextFieldStatus(true);
  62.                     window.turnAllEditable(true);
  63.                     window.turnConfirmButton(true);
  64.                     break;
  65.  
  66.                 case "deletar":
  67.                     window.setTextFieldStatus(true);
  68.                     window.turnAllEditable(false);
  69.                     window.turnConfirmButton(true);
  70.                     EXEC_TYPE = 3;
  71.                     break;
  72.  
  73.                 case "confirmar":
  74.                     window.turnAllEditable(false);
  75.                     window.componentVisible(window.getActionPanel(), false);
  76.                     setNewPokemonAndExec();
  77.                     break;
  78.                 case "voltar":
  79.                     window.turnConfirmButton(false);
  80.                     window.turnAllEditable(false);
  81.                     break;
  82.             }
  83.         }
  84.         if (o instanceof JComboBox) {
  85.         }
  86.     }
  87.  
  88.     // flag
  89.     int EXEC_TYPE = 0;
  90.  
  91.     private boolean exec() {
  92.         switch (EXEC_TYPE) {
  93.             case 1:
  94.                 data.insert();
  95.                 break;
  96.  
  97.             case 2:
  98.                 data.update();
  99.                 break;
  100.  
  101.             case 3:
  102.                 data.delete();
  103.                 break;
  104.         }
  105.         window.setTextFieldStatus(false);
  106.         window.getComboBox().removeAllItems();
  107.         uptComboBox(0);
  108.         window.turnConfirmButton(false);
  109.         window.getConfirmLabel().setVisible(false);
  110.         return false;
  111.     }
  112.  
  113.     private void setNewPokemonAndExec() {
  114.         Pokemon p = new Pokemon();
  115.         p.setID(Integer.parseInt(window.getTextFieldByIndex(0).getText()));
  116.         p.setName(window.getTextFieldByIndex(1).getText());
  117.         p.setType(window.getTextFieldByIndex(2).getText());
  118.         p.setWeak(window.getTextFieldByIndex(3).getText());
  119.         //pokemon.setVantage(window.getTextFieldByIndex(4).getText());
  120.         p.setDescription(window.getTextArea().getText());
  121.         data = new PokedexDataAccess(p);
  122.  
  123.         if (exec()) {
  124.             EXEC_TYPE = 0;
  125.         }
  126.     }
  127.  
  128.     public final void setListener(Component c) {
  129.         if (c instanceof JButton) {
  130.             ((JButton) c).addActionListener(this);
  131.         } else {
  132.             c.addFocusListener(this);
  133.         }
  134.         c.addMouseListener(this);
  135.     }
  136.  
  137.     @Override
  138.     public void mouseEntered(MouseEvent e) {
  139.         Object o = e.getSource();
  140.         if (o instanceof JButton) {
  141.             window.buttonHover((JButton) o, true);
  142.         } else if (o instanceof JTextField) {
  143.             if (window.getTextFieldStatus()) {
  144.                 window.textFieldHover((JTextField) o, true);
  145.             } else if (o instanceof JTextArea) {
  146.                 if (window.getTextFieldStatus()) {
  147.                     window.textAreaHover((JTextArea) o, true);
  148.                 }
  149.             }
  150.         }
  151.     }
  152.  
  153.     @Override
  154.     public void mouseExited(MouseEvent e) {
  155.         Object o = e.getSource();
  156.         if (o instanceof JButton) {
  157.             window.buttonHover((JButton) o, false);
  158.         } else if (o instanceof JTextField) {
  159.             window.textFieldHover((JTextField) o, false);
  160.         } else if (o instanceof JTextArea) {
  161.             window.textAreaHover((JTextArea) o, false);
  162.         }
  163.     }
  164.  
  165.     @Override
  166.     public void focusGained(FocusEvent e) {
  167.         Object o = e.getSource();
  168.         if (o instanceof JTextField) {
  169.             if (window.getTextFieldStatus()) {
  170.                 window.textFieldFocus((JTextField) o, true);
  171.             }
  172.         } else if (window.getTextFieldStatus()) {
  173.             window.textAreaFocus((JTextArea) o, true);
  174.         }
  175.     }
  176.  
  177.     @Override
  178.     public void focusLost(FocusEvent e) {
  179.         Object o = e.getSource();
  180.         if (o instanceof JTextField) {
  181.             if (window.getTextFieldStatus()) {
  182.                 window.textFieldFocus((JTextField) o, false);
  183.             }
  184.         } else if (window.getTextFieldStatus()) {
  185.             window.textAreaFocus((JTextArea) o, false);
  186.         }
  187.     }
  188.  
  189.     @Override
  190.     public void itemStateChanged(ItemEvent e) {
  191.  
  192.         if (e.getStateChange() == ItemEvent.SELECTED) {
  193.            
  194.             int item = window.getComboBox().getSelectedIndex();
  195.  
  196.             window.setTextFieldName(); // volta o texto escrito em component.getname
  197.             /*if (item == 0) {
  198.                 pokemonExists(false);
  199.             } else {
  200.                 pokemonExists(true);*/
  201.  
  202.                 Pokemon p = POKELIST.get(item);
  203.  
  204.                 window.getTextFieldByIndex(0).setText(Integer.toString(p.getID()));
  205.                 window.getTextFieldByIndex(1).setText(p.getName());
  206.                 window.getTextFieldByIndex(2).setText(p.getType());
  207.                 window.getTextFieldByIndex(3).setText(p.getWeak());
  208.                 //window.getTextFieldByIndex(4).setText(p.getVantage());
  209.                 window.getTextArea().setText(p.getDescription());
  210.             //}
  211.             System.out.println(item);
  212.             JOptionPane.showMessageDialog(null, window.getComboBox().getItemCount());
  213.         }
  214.     }
  215.    
  216.     /* CONTROLE */
  217.     public void pokemonExists(boolean state) {
  218.         if (!state) {
  219.             window.componentVisible(window.getButtonByIndex(0), true);
  220.             window.componentVisible(window.getActionPanel(), false);
  221.             window.turnAllEditable(true);
  222.         } else {
  223.             window.componentVisible(window.getButtonByIndex(0), false);
  224.             window.componentVisible(window.getActionPanel(), true);
  225.             window.turnAllEditable(false);
  226.         }
  227.     }
  228. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement