Advertisement
xlrnxnlx

PokemonController | Feeh/iFlash/Beats Leecher

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