Advertisement
xlrnxnlx

Appearance [VS - Feeh LEECHER (SCHEATS)]

May 18th, 2014
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.27 KB | None | 0 0
  1. package pokedex.view;
  2.  
  3. import java.awt.*;
  4. import javax.swing.*;
  5. import javax.swing.border.Border;
  6.  
  7. public class Appearance extends JFrame {
  8.    
  9.     public Appearance() { }
  10.    
  11.     /**
  12.      * Tenta usar a classe responsável pela aparência do sistema operacional.
  13.      * @param c component onde deve ser aplicado a aparência
  14.      * @return true = OK
  15.      */
  16.     public boolean useSystemAppearance( Component c ) {
  17.         boolean init = false;
  18.         try {
  19.             UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
  20.             SwingUtilities.updateComponentTreeUI(c);
  21.             init = true;
  22.         } catch( ClassNotFoundException | IllegalAccessException |
  23.                  InstantiationException | UnsupportedLookAndFeelException e ) { }
  24.         return init;
  25.     }
  26.    
  27.     /**
  28.      * Cria um novo botão de acordo com as definições na classe
  29.      * @param j Jbutton
  30.      * @return
  31.      */
  32.     public JButton createDefaultButton( JButton j ){
  33.         j.setFocusable(false);
  34.         j.setContentAreaFilled(false);
  35.         j.setCursor(Cursor.getPredefinedCursor(12)); // cursor de "mão"
  36.         j.setBorder(buttonDefaulBorder);
  37.         j.setSize(buttonSize);
  38.         j.setFont(defaultFont);
  39.         j.setForeground(buttonForegroundColor);
  40.         return j;
  41.     }
  42.    
  43.     /**
  44.      * Cria um novo textField de acordo com as definições na classe
  45.      * @param j JTextField
  46.      * @param textFieldName
  47.      * @return
  48.      */
  49.     public JTextField createDefaultTextField( JTextField j, String textFieldName ){
  50.         j.setName(textFieldName);
  51.         j.setBackground(Color.WHITE);
  52.         j.setBorder(textFieldDefaultBorder);
  53.         j.setFont(defaultFont);
  54.         j.setSize(textFieldSize);
  55.         j.setForeground(textFieldForegroundColor);
  56.         return j;
  57.     }
  58.    
  59.     /**
  60.      * Cria uma nova textArea de acordo com as definições na classe
  61.      * @param j JTextArea
  62.      * @param textAreaName
  63.      * @return
  64.      */
  65.     public JTextArea createDefaultTextArea( JTextArea j, String textAreaName ){
  66.         j.setName(textAreaName);
  67.         j.setBackground(Color.WHITE);
  68.         j.setBorder(textFieldDefaultBorder);
  69.         j.setFont(defaultFont);
  70.         j.setSize(textAreaSize);
  71.         j.setLineWrap(true);
  72.         j.setWrapStyleWord(true);
  73.         j.setForeground(textFieldForegroundColor);
  74.         return j;
  75.     }
  76.    
  77.     /**
  78.      * Cria uma nova ComboBox de acordo com as definições na classe
  79.      * @param j J ComboBox
  80.      * @return
  81.      */
  82.     public JComboBox createDefaultComboBox( JComboBox j ){
  83.         j.setFont(defaultFont);
  84.         j.setSize(comboBoxSize);
  85.         j.setBackground(null);
  86.         j.setForeground(new Color(120, 120, 120));
  87.         return j;
  88.     }
  89.    
  90.     public JLabel createDefaultConfirmJLabel( JLabel j ){
  91.         j.setFont(defaultFont);
  92.         j.setForeground(new Color(100, 200, 50));
  93.         return j;
  94.     }
  95.    
  96.     /**
  97.      * Define o campo de acordo com o parametro state
  98.      * @param j JTextField
  99.      * @param state true = editável, false = não editável
  100.      */
  101.     public void setTextFieldStatus( JTextField j, boolean state ){
  102.         if( !state )    j.setEditable(false);
  103.         else            j.setEditable(true);
  104.     }
  105.    
  106.     /**
  107.      * Define o campo de acordo com o parametro state
  108.      * @param j JTextArea
  109.      * @param state true = editável, false = não editável
  110.      */
  111.     public void setTextAreaStatus ( JTextArea j, boolean state ){
  112.         if( !state )    j.setEditable(false);
  113.         else            j.setEditable(true);
  114.     }
  115.    
  116.     /**
  117.      * Ação de "Hover" no JButton
  118.      * @param j JButton
  119.      * @param hover
  120.      */
  121.     public void buttonHover(JButton j, boolean hover) {
  122.         if (hover)  j.setBorder(buttonHoverBorder);
  123.         else        j.setBorder(buttonDefaulBorder);
  124.     }
  125.    
  126.     /**
  127.      * Ação de "Hover" no JTextfield
  128.      * @param j JButton
  129.      * @param hover
  130.      */
  131.     public void textFieldHover( JTextField j, boolean hover ){
  132.         if (hover)  j.setBorder(textFieldHoverBorder);
  133.         else        j.setBorder(textFieldDefaultBorder);
  134.        
  135.     }
  136.    
  137.     /**
  138.      * Ação de "Hover" na JTextArea
  139.      * @param j JButton
  140.      * @param hover
  141.      */
  142.     public void textAreaHover( JTextArea j, boolean hover ){
  143.         if (hover)  j.setBorder(textFieldHoverBorder);
  144.         else        j.setBorder(textFieldDefaultBorder);
  145.     }
  146.    
  147.    
  148.     /**
  149.      * Ação de "focus" em um textField
  150.      * @param j
  151.      * @param focus
  152.      */
  153.     public void textFieldFocus( JTextField j, boolean focus ) {
  154.         if (focus) {
  155.             j.setBorder(textFieldHoverBorder);
  156.             if (j.getText().equals(j.getName()))
  157.                 j.setText("");
  158.             j.setForeground(textFieldForegroundFocusColor);
  159.         }
  160.         else {
  161.             j.setBorder(textFieldDefaultBorder);
  162.             if(j.getText().equals("") || j.getText() == null)
  163.                 j.setText(j.getName());
  164.             j.setForeground(textFieldForegroundColor);
  165.         }
  166.     }
  167.    
  168.     /**
  169.      * Ação de "focus" em um textArea
  170.      * @param j
  171.      * @param focus
  172.      */
  173.     public void textAreaFocus( JTextArea j, boolean focus ) {
  174.         if (focus) {
  175.             j.setBorder(textFieldHoverBorder);
  176.             if (j.getText().equals(j.getName()))
  177.                 j.setText("");
  178.             j.setForeground(textFieldForegroundFocusColor);
  179.         }
  180.         else {
  181.             j.setBorder(textFieldDefaultBorder);
  182.             if(j.getText().equals("") || j.getText() == null)
  183.                 j.setText(j.getName());
  184.             j.setForeground(textFieldForegroundColor);
  185.         }
  186.     }
  187.    
  188.     /**
  189.      * Mostrar ou esconder um componente
  190.      * @param c Component
  191.      * @param state false = esconde, true = mostra
  192.      */
  193.     public void componentVisible ( Component c, boolean state ){
  194.         if (!state) c.setVisible(false);
  195.         else        c.setVisible(true);
  196.     }
  197.    
  198.    
  199.     /* TAMANHOS */
  200.     private Dimension buttonSize = new Dimension( 200, 40 ),
  201.                       textFieldSize = new Dimension( 300, 40 ),
  202.                       textAreaSize = new Dimension( 300, 100 ),
  203.                       comboBoxSize = new Dimension( 260, 40 );
  204.     /* DEFINIÇÃO DAS BORDAS */
  205.     private Border
  206.             buttonHoverBorder       = BorderFactory.createLineBorder(new Color(255, 255, 255, 255), 1, false),
  207.             buttonDefaulBorder      = BorderFactory.createLineBorder(new Color(240, 240, 240, 100), 1, false),
  208.             textFieldHoverBorder    = BorderFactory.createCompoundBorder(BorderFactory.createLineBorder(new Color(150, 150, 150), 1, false), BorderFactory.createEmptyBorder(1, 10, 1, 10)),
  209.             textFieldDefaultBorder  = BorderFactory.createCompoundBorder(BorderFactory.createLineBorder(Color.LIGHT_GRAY, 1, false), BorderFactory.createEmptyBorder(1, 10, 1, 10));
  210.  
  211.     /* DEFINIÇÃO DAS CORES */
  212.     private Color   textFieldForegroundColor        = new Color(150, 150, 150),
  213.                     textFieldForegroundFocusColor   = new Color(150, 150, 150),
  214.                     buttonForegroundColor           = new Color (255,255,255);
  215.    
  216.     /* DEFINIÇÃO DA FONTE */
  217.     private Font defaultFont    = new Font ("Tahoma", Font.PLAIN, 16);
  218. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement