Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/11/2013, 10:30
awik
 
Fecha de Ingreso: febrero-2013
Mensajes: 78
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Pintar celda y color de letra

bueno tuve que separar el codigo por que no me deja escribir mas de 10000 caracteres
aqui continua el codigo

Código Java:
Ver original
  1. public Tabla()
  2.         {
  3.         super("Hoja de Calculo");
  4.         menu.add(archivo);
  5.         menu.add(ColordeFuente);
  6.         menu.add(ayuda);
  7.        
  8.         archivo.add(nuevo);
  9.         archivo.add(abrir);
  10.         archivo.add(guardar);
  11.         //archivo.addSeparator();
  12.         archivo.add(salir);
  13.        
  14.        
  15.         ColordeFuente.add(ColordeFondo);
  16.         ColordeFuente.add(ColordeLetra);
  17.         ColordeLetra.add(mi);
  18.        
  19.         ColordeLetra.add(mi2);
  20.         ColordeLetra.add(mi3);
  21.        
  22.         menu.setVisible(true);
  23.         //getContentPane().add(jpanel);
  24.        
  25.        
  26.          //creaEditor();
  27.          //add( texto, BorderLayout.CENTER );
  28.        
  29.         this.add(menu, BorderLayout.NORTH);
  30.        
  31.  
  32.  
  33.         //PARA CONSEGUIR UNA POSICION DE UN CELDA QUE LE DAS CLIC
  34.  
  35.  
  36.      
  37.         mi.addActionListener(new ActionListener() {
  38.         @Override
  39.         public void actionPerformed(ActionEvent evt) {
  40.         Style estilo = null;
  41.         String color = (String)evt.getActionCommand();
  42.  
  43.         if ( color.equals( "Rojo" ) ) {
  44.             estilo = estiloRojo;
  45.         }
  46.         else if ( color.equals( "Azul" ) ) {
  47.             estilo = estiloAzul;
  48.         }
  49.         else if ( color.equals( "Verde" ) ) {
  50.             estilo = estiloVerde;
  51.         }
  52.         texto.setCharacterAttributes( estilo, false );
  53.                
  54.         }
  55.         }
  56.         );
  57.        
  58.        
  59.        
  60.          mi2.addActionListener(new ActionListener() {
  61.         @Override
  62.         public void actionPerformed(ActionEvent evt) {
  63.         Style estilo = null;
  64.         String color = (String)evt.getActionCommand();
  65.  
  66.         if ( color.equals( "Rojo" ) ) {
  67.             estilo = estiloRojo;
  68.         }
  69.         else if ( color.equals( "Azul" ) ) {
  70.             estilo = estiloAzul;
  71.         }
  72.         else if ( color.equals( "Verde" ) ) {
  73.             estilo = estiloVerde;
  74.         }
  75.         texto.setCharacterAttributes( estilo, false );
  76.                
  77.         }
  78.         }
  79.         );
  80.          
  81.          
  82.          
  83.          
  84.          
  85.           mi3.addActionListener(new ActionListener() {
  86.         @Override
  87.         public void actionPerformed(ActionEvent evt) {
  88.         Style estilo = null;
  89.         String color = (String)evt.getActionCommand();
  90.  
  91.         if ( color.equals( "Rojo" ) ) {
  92.             estilo = estiloRojo;
  93.         }
  94.         else if ( color.equals( "Azul" ) ) {
  95.             estilo = estiloAzul;
  96.         }
  97.         else if ( color.equals( "Verde" ) ) {
  98.             estilo = estiloVerde;
  99.         }
  100.         texto.setCharacterAttributes( estilo, false );
  101.                
  102.         }
  103.         }
  104.         );
  105.          
  106.          
  107.          
  108.          ColordeFondo.addActionListener(new ActionListener() {
  109.         @Override
  110.         public void actionPerformed(ActionEvent e) {
  111.         Color color = JColorChooser.showDialog(Tabla.this,"Seleccione un nuevo color...", Color.white);
  112.         jpanel.setBackground(color);      
  113.         }
  114.         });
  115.  
  116.    
  117.           //creaEditor();
  118.        //add( texto, BorderLayout.CENTER );
  119.        
  120.        
  121.        
  122.         //LISTENER PARA EL BOTON NUEVO
  123.         nuevo.addActionListener(new ActionListener() {
  124.         @Override
  125.         public void actionPerformed(ActionEvent e) {
  126.         int f;
  127.         int c;
  128.         f = Integer.parseInt(JOptionPane.showInputDialog("Ingrese filas"));
  129.         c = Integer.parseInt(JOptionPane.showInputDialog("Ingrese columnas"));
  130.          crea(f,c);
  131.                
  132.         }
  133.         });
  134.  
  135.     }
  136.        
  137.        
  138.        
  139.        
  140.        
  141.        
  142.      
  143.          
  144.          
  145.          
  146.          
  147.          private void creaEditor() {
  148.         StyleContext sc = creaEstilos();
  149.         DefaultStyledDocument doc = new DefaultStyledDocument( sc );
  150.  
  151.         texto = new JTextPane( doc );
  152.     }
  153.  
  154.  
  155.     private StyleContext creaEstilos() {
  156.         StyleContext sc = new StyleContext();
  157.  
  158.         estiloRojo = sc.addStyle( null, null );
  159.         StyleConstants.setForeground( estiloRojo, Color.red );
  160.         StyleConstants.setFontSize( estiloRojo,24 );
  161.         estiloVerde = sc.addStyle( null, null );
  162.         StyleConstants.setForeground( estiloVerde, Color.green );
  163.         StyleConstants.setFontSize( estiloVerde,24 );
  164.  
  165.         estiloAzul = sc.addStyle( null, null );
  166.         StyleConstants.setForeground( estiloAzul, Color.blue );
  167.         StyleConstants.setFontSize( estiloAzul,24 );
  168.         return( sc );
  169.     }
  170.          
  171.          
  172.          
  173.          
  174.          
  175.          
  176. }

en la parte que aparecen estas lineas

//getContentPane().add(jpanel);


//creaEditor();
//add( texto, BorderLayout.CENTER );

estan como comentario como habran visto , estan con dos slash
entonces si quieren pintar para color de fondo
a //getContentPane().add(jpanel);
quitenle los slash
y ejecutan el programa entonces eligen un color de fondo dan click y veran q se pinta el panel , yo quiero que se pinte segun la celda que haya seleccionado

si quieren para escribir con colores al codigo

//creaEditor();
//add( texto, BorderLayout.CENTER );


quitenle los slash ...
veran que cuando escojan un color escribiran segun el color q haya elegido ..

okey yo quiero aplicarlo esto pero ala tabla ...

para q aparesca la tabla tienen que volver a poner los slash a los codigos , si no la tabla no aparecera


espero alguien me oriente como hacer esto ...