Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/05/2016, 15:51
jmfmagnum
 
Fecha de Ingreso: julio-2014
Mensajes: 116
Antigüedad: 10 años, 4 meses
Puntos: 1
Jtextfield y mayusculas

Buenas tardes, lamento molestar con algo simplon pero no suelo trabajar con java, tengo trabajos con un juego de sopa de letras, esta es la funcion que permite hacer click en la tabla y agregar una palabra, pero me gustaria que le JTextField pusiera las letras en mayusculas automaticamente (no botones extra, click en textfield, escribes PUM letras en mayusculas) gracias por su atencion

Código Java:
Ver original
  1. package sopaletrasv3;
  2.  
  3. import java.awt.Color;
  4. import java.awt.FlowLayout;
  5. import java.awt.GridLayout;
  6. import java.awt.event.ActionEvent;
  7. import java.awt.event.ActionListener;
  8. import java.awt.event.KeyEvent;
  9. import java.awt.event.KeyListener;
  10. import javax.swing.ButtonGroup;
  11. import javax.swing.JButton;
  12. import javax.swing.JCheckBox;
  13. import javax.swing.JDialog;
  14. import javax.swing.JLabel;
  15. import javax.swing.JOptionPane;
  16. import javax.swing.JPanel;
  17. import javax.swing.JTextField;
  18. import javax.swing.JRadioButton;
  19.  
  20.  
  21. /**
  22.  *
  23.  * @author portatil
  24.  */
  25. public class frmInsertaPalabra extends JDialog implements ActionListener,KeyListener{
  26.     private JTextField texto;
  27.     private JButton JBSalir,JBAceptar;
  28.     private JCheckBox jcbChars;
  29.     private Sopaletras2 sopa;
  30.     private int posX,posY,forma;
  31.     private JRadioButton BotonOpcion1,BotonOpcion2,BotonOpcion3,BotonOpcion4,BotonOpcion5,BotonOpcion6,BotonOpcion7,BotonOpcion8;
  32.     private boolean booResalta;
  33.     //private Color color;
  34.    
  35.  
  36.     public frmInsertaPalabra(Sopaletras2 xsopa, int i, int j, boolean bool){
  37.         super();
  38.         sopa = xsopa;
  39.         posX = i;
  40.         posY = j;
  41.         forma = 1;
  42.         booResalta = bool;
  43.         //color = xcolor;
  44.         Ini();
  45.         this.setTitle("Insertar Palabra"); //Titulo de ventana
  46.         this.setSize(410,325); //Tamaño de ventana
  47.         this.setModal(true); //Establece ventana modal
  48.         this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
  49.     }
  50.  
  51.     public void Ini(){
  52.         JPanel panePrincipal = new JPanel(new GridLayout(9,1));
  53.         JPanel pane = new JPanel(new FlowLayout(FlowLayout.CENTER));
  54.         JPanel pane2 = new JPanel(new FlowLayout(FlowLayout.RIGHT));
  55.         JPanel pane3 = new JPanel(new FlowLayout(FlowLayout.CENTER));
  56.         JPanel pane4 = new JPanel(new FlowLayout(FlowLayout.CENTER));
  57.  
  58.         JLabel label = new JLabel("  Palabra:");
  59.         JLabel label2 = new JLabel("  Posicion:");
  60.         JLabel label3 = new JLabel("  Letras:");
  61.         jcbChars = new JCheckBox("Solo letras del formulario");
  62.         jcbChars.setSelected(true);
  63.         jcbChars.setFocusable(false);
  64.         texto = new JTextField();
  65.        
  66.         texto.addKeyListener(this);
  67.  
  68.         ButtonGroup AgrupaBoton = new ButtonGroup();
  69.             BotonOpcion1 = new JRadioButton("Izquierda");
  70.             BotonOpcion1.setSelected(true);
  71.             BotonOpcion1.setFocusable(false);
  72.             BotonOpcion1.addActionListener(this);
  73.             BotonOpcion2 = new JRadioButton("Derecha");
  74.             BotonOpcion2.addActionListener(this);
  75.             BotonOpcion2.setFocusable(false);
  76.             BotonOpcion3 = new JRadioButton("Arriba");
  77.             BotonOpcion3.addActionListener(this);
  78.             BotonOpcion3.setFocusable(false);
  79.             BotonOpcion4 = new JRadioButton("Abajo");
  80.             BotonOpcion4.addActionListener(this);
  81.             BotonOpcion4.setFocusable(false);
  82.             BotonOpcion5 = new JRadioButton("Diagonal superior izquierda");
  83.             BotonOpcion5.addActionListener(this);
  84.             BotonOpcion5.setFocusable(false);
  85.             BotonOpcion6 = new JRadioButton("Diagonal superior derecha");
  86.             BotonOpcion6.addActionListener(this);
  87.             BotonOpcion6.setFocusable(false);
  88.             BotonOpcion7 = new JRadioButton("Diagonal inferior izquierda");
  89.             BotonOpcion7.addActionListener(this);
  90.             BotonOpcion7.setFocusable(false);
  91.             BotonOpcion8 = new JRadioButton("Diagonal inferior derecha");
  92.             BotonOpcion8.addActionListener(this);
  93.             BotonOpcion8.setFocusable(false);
  94.         AgrupaBoton.add(BotonOpcion1);
  95.         AgrupaBoton.add(BotonOpcion2);
  96.         AgrupaBoton.add(BotonOpcion3);
  97.         AgrupaBoton.add(BotonOpcion4);
  98.         AgrupaBoton.add(BotonOpcion5);
  99.         AgrupaBoton.add(BotonOpcion6);
  100.         AgrupaBoton.add(BotonOpcion7);
  101.         AgrupaBoton.add(BotonOpcion8);
  102.        
  103.         pane.add(BotonOpcion1);
  104.         pane.add(BotonOpcion2);
  105.         pane.add(BotonOpcion3);
  106.         pane.add(BotonOpcion4);
  107.         pane3.add(BotonOpcion5);
  108.         pane3.add(BotonOpcion6);
  109.         pane4.add(BotonOpcion7);
  110.         pane4.add(BotonOpcion8);
  111.  
  112.         JBSalir = new JButton("Salir");
  113.         JBSalir.addActionListener(this);
  114.         JBAceptar = new JButton("Aceptar");
  115.         JBAceptar.addActionListener(this);
  116.  
  117.         pane2.add(JBSalir);
  118.         pane2.add(JBAceptar);
  119.        
  120.         panePrincipal.add(label);
  121.         panePrincipal.add(texto);
  122.         panePrincipal.add(label3);
  123.         panePrincipal.add(jcbChars);
  124.         panePrincipal.add(label2);
  125.         panePrincipal.add(pane);
  126.         panePrincipal.add(pane3);
  127.         panePrincipal.add(pane4);
  128.         panePrincipal.add(pane2);
  129.         this.add(panePrincipal);
  130.     }
  131.  
  132.     private static boolean verifyString(String cadena, String caracteres){
  133.         char c[],x;
  134.         int i,j,k;
  135.         int error = 0;
  136.         String s = caracteres;
  137.         c = s.toCharArray();
  138.         for( i=0 ;  i < cadena.length() && error == 0;i++){
  139.             x = cadena.charAt(i);
  140.             k = 0;
  141.             for(j = 0 ;  j < s.length() && k == 0;j++){
  142.                 if(x==c[j])
  143.                     k++;
  144.             }
  145.             if( k == 0)
  146.                 error++;
  147.         }
  148.         if(error == 0)
  149.             return true;
  150.         else
  151.             return false;
  152.     }
  153.     public void AgregarPalabra(){
  154.             String s = texto.getText().trim();
  155.        
  156.             if(s.length()> 0){
  157.                 int num = sopa.Verify(s, posX, posY, forma);
  158.                 if(num == 0){
  159.                     if(jcbChars.isSelected()){
  160.                         if(verifyString(s,sopa.getCaracteresPermitidos())){
  161.                             sopa.setPalabra(s, posX, posY, forma);
  162.                             if(booResalta)
  163.                                 sopa.PintaPalabra(sopa.getTotalPalabras()-1, Color.YELLOW);
  164.                             this.dispose();
  165.                         }else
  166.                             JOptionPane.showMessageDialog(rootPane, "Palabra no agregada. La palabra contiene letras que no forman parte de la sopa de letras. Tambien se distingue entre mayusculas y minusculas.", "jSopaLetras" , 1);
  167.                     }else{
  168.                         sopa.setPalabra(s, posX, posY, forma);
  169.                         if(booResalta)
  170.                             sopa.PintaPalabra(sopa.getTotalPalabras()-1, Color.YELLOW);
  171.                         this.dispose();
  172.                     }
  173.                 }else if (num == 1)
  174.                     JOptionPane.showMessageDialog(rootPane, "Palabra muy extensa para ser colocada", "jSopaLetras" , 1);
  175.                 else if(num == 2)
  176.                     JOptionPane.showMessageDialog(rootPane, "Palabra se cruza con otra ya agregada anteriormente", "jSopaLetras" , 1);
  177.             }else
  178.                 JOptionPane.showMessageDialog(rootPane, "Palabra no valida", "jSopaLetras" , 1);
  179.     }
  180.     public void actionPerformed(ActionEvent e) {
  181.         Object obj = e.getSource();
  182.         if(obj == JBSalir){
  183.             this.dispose();
  184.         }else if(obj == BotonOpcion1){
  185.             forma = 1;
  186.         }else if(obj == BotonOpcion2){
  187.             forma = 2;
  188.         }else if (obj == BotonOpcion3){
  189.             forma = 3;
  190.         }else if(obj == BotonOpcion4){
  191.             forma = 4;
  192.         }else if(obj == BotonOpcion5){
  193.             forma = 5;
  194.         }else if(obj == BotonOpcion6){
  195.             forma = 6;
  196.         }else if(obj == BotonOpcion7){
  197.             forma = 7;
  198.         }else if(obj == BotonOpcion8){
  199.             forma = 8;
  200.         }else if(obj == JBAceptar){
  201.             AgregarPalabra();
  202.         }  
  203.     }
  204.     public void keyTyped(KeyEvent e) {
  205.         //throw new UnsupportedOperationException("Not supported yet.");
  206.     }
  207.     public void keyPressed(KeyEvent e) {
  208.         if(e.getKeyChar() == '\n')
  209.             AgregarPalabra();
  210.         if(e.getKeyCode() == 27)
  211.             this.dispose();
  212.         //this.setTitle("" + this.getWidth() + " * " + this.getHeight());
  213.         //this.setTitle("KeyCode = " + e.getKeyCode());
  214.     }
  215.     public void keyReleased(KeyEvent e) {
  216.         // new UnsupportedOperationException("Not supported yet.");
  217.     }
  218.    
  219.  
  220. }