Advertisement
xlrnxnlx

PokedexMainWindow

May 13th, 2014
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.15 KB | None | 0 0
  1. package pokedex.view;
  2. import java.awt.*;
  3. import javax.swing.*;
  4.  
  5. public class MainWindow extends Appearance {
  6.    
  7.     public MainWindow() {}
  8.    
  9.     public MainWindow(String windowTitle) {
  10.         if(useSystemAppearance(this)) {
  11.             initComponents(windowTitle);
  12.             this.setVisible(true);
  13.         }
  14.         else System.out.println("Não foi possível usar a classe responsável pela aparência do SO");
  15.     }
  16.    
  17.     private void initComponents(String windowTitle) {
  18.        
  19.         mainPanel = new JPanel();
  20.         mainPanel.setBackground(Color.BLACK);
  21.         this.setContentPane(mainPanel);
  22.         this.setTitle(windowTitle);
  23.        
  24.         this.setSize(500, 700);
  25.         this.setType(Type.UTILITY);
  26.         this.setLayout(null);
  27.         this.setResizable(false);
  28.         this.setDefaultCloseOperation(EXIT_ON_CLOSE);
  29.         this.setLocationRelativeTo(null);
  30.        
  31.         // Painéis
  32.         topPanel = new JPanel();
  33.         topPanel.setBackground(new Color(0, 204, 102));
  34.         topPanel.setLayout(null);
  35.         topPanel.setBounds(0, 0, 500, 120);
  36.         mainPanel.add(topPanel);
  37.        
  38.         contentPanel = new JPanel();
  39.         contentPanel.setBackground(Color.WHITE);
  40.         contentPanel.setLayout(null);
  41.         contentPanel.setBounds(0, 120, 500, 600);
  42.         mainPanel.add(contentPanel);
  43.        
  44.         actionPanel = new JPanel();
  45.         actionPanel.setBackground(new Color(150, 150, 150));
  46.         actionPanel.setLayout(null);
  47.         actionPanel.setBounds(0, 340, 500, 50);
  48.         contentPanel.add(actionPanel);
  49.        
  50.         // Botões
  51.         for( int i = 0; i < MAXBUTTONS; i++ ) {
  52.             button[i] = createDefaultButton(new JButton(buttonText[i]));
  53.             if (i == 0) {
  54.                 button[i].setLocation(buttonY[i], buttonX[i]);
  55.                 topPanel.add(button[i]);
  56.             }
  57.             else {
  58.                 button[i].setLocation(buttonY[i], buttonX[i]);
  59.                 actionPanel.add(button[i]);
  60.             }
  61.         }
  62.        
  63.         comboBox = createDefaultComboBox(new JComboBox());
  64.         comboBox.setLocation(120, 70);
  65.         topPanel.add(comboBox);
  66.        
  67.         // textFields
  68.         for( int i = 0; i < MAXTEXTFIELDS - 1; i++ ) { // o último pertence ao textArea
  69.             textField[i] = createDefaultTextField(new JTextField(), textFieldText[i]);
  70.             textField[i].setLocation(100, textFieldX[i]);
  71.             contentPanel.add(textField[i]);
  72.         }
  73.        
  74.         textArea = createDefaultTextArea(new JTextArea(), textFieldText[textFieldText.length - 1]);
  75.         textArea.setLocation(100, textFieldX[textField.length]);
  76.         contentPanel.add(textArea);
  77.        
  78.         //JScrollPane scroll = new JScrollPane();
  79.         //scroll.add(textArea);
  80.        
  81.        
  82.         confirmLabel = createDefaultConfirmJLabel(new JLabel("Confirmar Ação?"));
  83.         confirmLabel.setBounds(180, 305, 200, 40);
  84.         confirmLabel.setVisible(false);
  85.         contentPanel.add(confirmLabel);
  86.        
  87.         setTextFieldName();
  88.     }
  89.    
  90.    
  91.     public JButton getButtonByIndex( int i ){
  92.         return this.button[i];
  93.     }
  94.    
  95.     public JTextField getTextFieldByIndex( int i ){
  96.         return this.textField[i];
  97.     }
  98.    
  99.     public JTextArea getTextArea() {
  100.         return this.textArea;
  101.     }
  102.    
  103.     public JComboBox getComboBox() {
  104.         return this.comboBox;
  105.     }
  106.  
  107.     public JPanel getContentPanel() {
  108.         return contentPanel;
  109.     }
  110.  
  111.     public JLabel getConfirmLabel() {
  112.         return confirmLabel;
  113.     }
  114.  
  115.     public void setConfirmLabel(JLabel confirmLabel) {
  116.         this.confirmLabel = confirmLabel;
  117.     }
  118.    
  119.     public JPanel getMainPanel() {
  120.         return mainPanel;
  121.     }
  122.  
  123.     public void setMainPanel(JPanel mainPanel) {
  124.         this.mainPanel = mainPanel;
  125.     }
  126.  
  127.     public JPanel getActionPanel() {
  128.         return actionPanel;
  129.     }
  130.  
  131.     public void setActionPanel(JPanel actionPanel) {
  132.         this.actionPanel = actionPanel;
  133.     }
  134.    
  135.    
  136.    
  137.     /**
  138.      * Torna todos os textFields editáveis
  139.      * @param state true = editavel
  140.      */
  141.     public void turnAllEditable(boolean state) {
  142.         setTextAreaStatus(textArea, state);
  143.         for (int i = 0; i < MAXTEXTFIELDS - 1; i++)
  144.             setTextFieldStatus(textField[i], state);
  145.         this.state = state;
  146.     }
  147.    
  148.     /**
  149.      * @return o estado atual dos textFields
  150.      */
  151.     public boolean getTextFieldStatus() {
  152.         return this.state;
  153.     }
  154.    
  155.     public void setTextFieldStatus(boolean state) {
  156.         this.state = state;
  157.     }
  158.    
  159.     /**
  160.      * Deixa todos os TextFields com o valor definido no "name"
  161.      */
  162.     public void setTextFieldName() {
  163.         textAreaFocus(textArea, false);
  164.         textArea.setText(textArea.getName());
  165.         for (int i = 0; i < MAXTEXTFIELDS - 1; i++){
  166.             textField[i].setText(textField[i].getName());
  167.             textFieldFocus(textField[i], false);
  168.         }
  169.     }
  170.    
  171.    
  172.     public void turnConfirmButton(boolean turn) {
  173.         if (turn) {
  174.             confirmLabel.setVisible(true);
  175.             button[1].setText("Confirmar");
  176.             button[2].setText("Voltar");
  177.         }
  178.         else {
  179.             confirmLabel.setVisible(false);
  180.             button[1].setText(buttonText[1]);
  181.             button[2].setText(buttonText[2]);
  182.         }
  183.     }
  184.  
  185.     private JLabel confirmLabel;
  186.     private JPanel mainPanel, topPanel, contentPanel, actionPanel;
  187.     public int MAXBUTTONS = 3, MAXTEXTFIELDS = 5;
  188.    
  189.     private int buttonY[] = {150, 20, 260};
  190.     private int buttonX[] = {20, 5, 5};
  191.     private JButton button[] = new JButton[MAXBUTTONS];
  192.     private String buttonText[]     = {"Inserir", "Atualizar", "Deletar"};
  193.    
  194.     private int textFieldX[] = {10, 60, 110, 160, 210}; //ultimo pertence ao textArea
  195.     private JTextField textField[] = new JTextField[MAXTEXTFIELDS-1]; // 1 pertence ao TextArea
  196.     private String textFieldText[]  = {"Pokemon ID", "Nome do Pokemon", "Fraqueza", "Vantagem", "Descrição"};
  197.     private JTextArea textArea;
  198.     private JComboBox comboBox;
  199.    
  200.     public boolean state = false;
  201. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement