Buscar este blog

sábado, 27 de abril de 2013

Mouse Motion Listener

La aplicación del mouse motion listener es indispensable, ya que por medio de el se pueden mover las fichas del tablero, con un clic sobre las fichas y mover el mouse, se logran mover las fichas, hasta el lugar indicado por el jugador.

sábado, 20 de abril de 2013

Sincronizar los hilos en Java

se había visto que un hilo, solo se podía ejecutar, mientras que el otro se ejecutaba pero no lo lográbamos ver en nuestra ventana, en la siguiente figura se muestran dos hilos, cada uno de ellos con un botón  el cual se ha agregado a un JFrame y que se tuvo que implementar una sincronizacion para mandar los dos por pantalla y pudieran funcionar, se reemplazo el habitual implements Runnable por el Extends thread donde se maneja mas fácilmente.

2 imágenes de como va el proyecto: y como se desenvuelven los dos hilos por pantalla



martes, 16 de abril de 2013

Pendiente de la recta tangente de una función en un punto y área bajo la curva de la misma

Se ha finalizado el trabajo propuesto de hallar el área bajo la curva de una función y la pendiente de la recta tangente de esa misma función en un punto, a continuación muestro el ejemplo con la función seno de x , se halla el área bajo la curva y la pendiente de la función en un punto en este caso el punto 1.



Para comprobar el resultado se implementa la ayuda de wolfram alpha para el área bajo la curva y la pendiente si da 1, porque la derivada de seno(x)=cos(x) calculada en 0 da1.


Area de una funcion bajo la curva

Utilizando programación orientada a objetos, se logra crear un programa que calcula el área bajo una curva de una función continua en un intervalo cerrado A-B , a continuación muestro un ejemplo de una función a la cual le halle el área bajo la curva, mas adelante se trabajara para graficar el are que encontramos.

se ingresa la función en nuestro programa y se le da un intervalo de valides, en este caso es de x=1 hasta x=2 si la función no es continua en este intervalo nos dará un error o un área infinita.



El programa nos da un valor de área  en este caso es de -3.06747 unidades cuadradas , luego para verificar ingresamos la función en el wolfram alpha en el intervalo de 1 a 2, como se había especificado.



y se comprueba que nuestro programa esta en la habilidad de calcular áreas bajo la curva de cualquier función!!!!!

domingo, 14 de abril de 2013

ejemplo de conexion entre access y java

A continuación muestro tres imágenes de un sencillo ejemplo en el cual se pide el nombre teléfono y apellido los cuales son llenados en un formulario con jtexfield y que se envían a nuestra base de datos de acces:


Se envía un mensaje de "guardado con éxito" para decir que la operación de registro fue exitosa".

Así me aparece el registro en access

Y cada vez que se ejecute el programa me guardara los datos en la base de datos, también tengo la opción de modificar los datos de un usuario así como de borrarlos, el código me muestra 15 esto es por que es una autonumeracion que no se borra luego de borrar los registros.

sábado, 13 de abril de 2013

Enlazar java con Microsoft Access



Hoy deseo compartir como lograr una conexion exitosa por parte de java con una base de datos que hayamos creado en access para ello se recomienda crear la base de datos en formato tipo .mdb el cual se origina al guardar nuestra base en access 2002-2003 luego se debe ir a panel de control- herramientas de sistema- origenes de datos odbc- DNS de usuario - agregar y alli seleccionamos Microsoft access Driver (*.mdb) posteriormente le damos un nombre y seleccionamos nuestra base de datos, la cual ya la podemos llamar desde java, se debe segir la clausula
 try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

  } catch (Exception ex) {
           System.out.print ("error de"+ex);
        }
y luego con el conector, el cual nos sirve de puente entre java y la base permitira hacer las adiciones, modificaciones, eliminaciones y actualizaciones que deseemos a nuestra base de datos desde java, acontinuacion comparto parte del codigo que hice con un formulario donde hay 3 campos de texto donde se piden nombre, apellido, y telefono y que al momento de oprimir el boton registrar datos, estos se mandan a la base de datos donde seran guardados, y ademas se el programa muestra por consola los datos que hay en nuestra base de datos.



private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
           
         
           
            Connection cn= DriverManager.getConnection("jdbc:odbc:base", "", "");
            Statement s=cn.createStatement();
           
            String sql="insert into personal(nombre,apellido,telefono)values('"+this.nom.getText()+"','"+this.ape.getText()+"','"+this.tel.getText()+"')";
            ResultSet rs = s.executeQuery("select * from personal");
            while ( rs.next() )
            {
                System.out.println("codigo :"+rs.getObject(1));
                System.out.println("nombre :"+rs.getObject(2));
                System.out.println("apellido :"+rs.getObject(3));
                System.out.println("telefono:"+rs.getObject(4));
            }
         
            s.executeUpdate(sql);
            JOptionPane.showMessageDialog(rootPane,"guardado con exito");
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(rootPane,"ERROR"+ex);
        }
       
    }

jueves, 11 de abril de 2013

Vale la pena recordar : ¿que es el domino?


El dominó es un juego de mesa que consta de 28 fichas rectangulares (blancas de una cara y negras de la otra) que a su vez están divididas en partes iguales por una línea a la mitad. Cada uno de los 2 cuadrados que se forman en la ficha lleva impreso de uno a seis puntos, o no lleva ninguno. Es decir, una ficha de dominó puede tener en una mitad un punto y en la otra 3, y así se intercalan con diversas combinaciones los números del uno al seis o un espacio en blanco.
La historia del dominó se remonta mil años atrás en china, cuando se crearon los juegos de dados. Este juego fue conocido en todo el mundo a partir del siglo XVIII cuando los italianos lo extendieran por toda Europa. Hoy en día es un juego muy popular en los países centroamericanos como  Venezuela, Colombia, República Dominicana, Puerto Rico, Cuba, entre otros.
El dominó se juega normalmente con 4 jugadores, divididos en dos parejas. Sin embargo, también puede jugarse en solitario. Como la mayoría de los juegos de mesa, el objetivo del dominó es alcanzar una determinada puntuación jugando para ello todas las manos que sean necesarias.
¿Cómo es una partida clásica de domino?
Cada par de jugadores se coloca alrededor de una mesa. Una vez que están ubicados de manera enfrentada, se colocan las fichas del dominó boca abajo y se mezclan. Cada una de las personas debe recoger 7 fichas.
Generalmente empieza la partida el jugador que tenga la ficha de seis doble (es la ficha de máxima puntuación, que tiene seis puntos en cada cuadrado de la ficha). Si ningún jugador la posee, comenzará quien tenga alguna ficha alta o de la manera que se acuerde previamente. Cuando un jugador comience, la próxima mano la seguirá el jugador que tenga a la derecha.
La mecánica del juego, mano tras mano, es muy sencilla: cada jugador durante su turno deberá hacer coincidir alguno de los números de las fichas que están en la mesa con las fichas que el posea. Para esto, en cada mano, un jugador deberá recoger
una ficha del pozo y tirar al finalizar su mano. Las fichas pueden ubicarse de manera doble: derechas o acostadas. Si un jugador no puede colocar ninguna ficha en su turno automáticamente jugará la persona de su derecha.
Cuando un jugador se queda sin fichas por colocar en la mesa, quiere decir que dominó la partida. Sin embargo, puede darse el caso de que la partida se cierre, es decir, que ya no puedan colocarse fichas. Entonces, ganará el jugador o pareja cuyas fichas sumen menos puntos. Esta situación no es muy frecuente, sólo sucede cuando el mismo número está en ambos extremos del juego, y las siete fichas de ese número ya han sido jugadas.
El jugador que gana una ronda, suma los puntos de las fichas de sus adversarios y/o pareja. Las fichas tienen un valor nominal, es decir, si una ficha tiene en uno de sus cuadrados dos puntos y en el otro cinco, esa ficha tendrá un valor de 7 puntos. El ganador de una partida de dominó será el jugador o pareja que alcance la puntuación fijada al principio de la partida.

Borrar lineas llenas en el Tetrix



Se muestran dos imágenes para verificar que el juego tetrix ya posee la habilidad de detectar las lineas llenas y borrarlas, por lo que todas las fichas encima de la linea borrada, se bajaran las posiciones que sean necesarias, y las fichas por debajo de la linea borrada tendrán que quedarse en su lugar, me costo trabajo lograr esto pero se supero con ingenio y horas de dedicación a este proyecto.




Clase principal del tetrix Gytetrix



Luego de presentar el tetrix, deseo compartir la clase principal del juego tetrix que es el eje central del juego, ya que a través de este de controlan y se coordinan todas las 9 clases del juego.


package principaltetrix;
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.util.TimerTask;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JLabel;
import javax.swing.Timer;


/**
 *
 * @author UniversidadUD
 */
public class Principaltetrix {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
       
   
      int a, k,max=6,min=1,fe,u,t,time=10000;
           
            String e;
           
            int [] fiche=new int [84];
            int vec[]=new int[84];
            int vec2[]=new int[84];
            int vec3[]=new int[84];
            int []mat =new int[84];
            int []res =new int[84];
            int []vec1 =new int[84];
            for(int fr=0;fr<84;fr++){
                mat[fr]=0;
                vec[fr]=0;
                vec1[fr]=0;
                vec2[fr]=0;
                 vec3[fr]=0;
             
            }
           
           Fichas mificha=new Fichas();
           Aleatorio mialeatorio =new Aleatorio();
           Desplazar midesplazar=new Desplazar();
           Pantalla1 mipan =new Pantalla1();
         
           Bajar mibajar=new Bajar();
           Parar miparar=new Parar ();
           Espacio miespacio=new Espacio ();
           Rotar mirotar =new Rotar();
   
           mipan.main();
     
         
            try {
            {
               
            Thread.currentThread().sleep(5000);
           
           }
         
           Thread.currentThread().sleep(0);
             }
           catch (InterruptedException ex) {
          Logger.getLogger(Principaltetrix.class.getName()).log(Level.SEVERE, null, ex);
           }
         
       
         
          int ge=0;
     for( u=0;u<55;u++){
           u=miparar.seguirficha(vec1);
       mipan.figura(0);
        if(u<50){
          a=mialeatorio.ale();
   
           if(a==1){
           int []b =mificha.cuadro();
         
            for(int i=0;i<84;i++){
                 
            fiche[i]=b[i];
         
                }
            ge=ge+1;
           }
           if(a==2){
           int []b =mificha.line();
         
            for(int i=0;i<84;i++){
                 
            fiche[i]=b[i];
         
                }
            ge=ge+1;
           }
           if(a==3){
           int []b =mificha.piramide();
         
            for(int i=0;i<84;i++){
                 
            fiche[i]=b[i];
         
                }
            ge=ge+1;
           }
           if(a==4){
           int []b =mificha.ele();
         
            for(int i=0;i<84;i++){
                 
            fiche[i]=b[i];
         
                }
            ge=ge+1;
           }
            if(a==5){
           int []b =mificha.zeta();
         
            for(int i=0;i<84;i++){
                 
            fiche[i]=b[i];
         
                }
            ge=ge+1;
           }
         
         
           mipan.figura(a);
         
         
         
         
           mipan.PUNTUACION(ge);
         
         
         
      try {
            {
                mat=miespacio.espace(vec);
                for(int i=0;i<84;i++){
                    if(vec1[i]==1 && mat[i]==1){
                    vec1[i]=1;
                    }
                    if(vec1[i]==0 && mat[i]==1){
                    vec1[i]=vec1[i]+mat[i];
                    }
                }
         
                u=miparar.seguirficha(vec1);
               
                int g=0;
                g=miparar.blanco1(vec1);
             
             
                if(g!=0){
             
                 vec3=mipan.recupera(vec1);
                    mipan.ivancito(g);
                        Thread.currentThread().sleep(500);
                  mipan.vaciar(vec1, 0);
             
               
                 mipan.col(g,vec3);
               
             
               vec1=miparar.siguiente(g,vec1);
             
                }
               
               
               
               
               
         if(u>50){
             u=50;
            mipan.aviso();
              mipan.figura(0);
           
         }
                if(u<50){
               int seg=0,op=0,yt=0,lo=0,r=0,kf=0,d, sw=0;
            for(int s=0;s<50;s++){
               
                seg=seg+1;
                if(seg==1){
                  d=0;
                }
                else{
             d = mipan.ivan();
                 
                }
             
               mipan.color(fiche,a);
             
                 
              if(d==3){
                   if(op==1){
                       yt=op+2;
                   }
                   if(op==2){
                       yt=op;
                   }
                 
                    if(op==3){
                       yt=1;
                   }
                     if(op==0){
                       yt=0;
                   }
                   
                   op=5;
                 
                  if(yt==4){
                       yt=0;
                   }
                   if(a==4){
                      res=mirotar.ele(res,yt);
                 }
                   yt=yt+1;
                 if(a==2){
                     if(lo==2){
                         lo=0;
                     }
                   
                       res=mirotar.rotarline(res,lo);
                       lo=lo+1;
                 }
               
               
                 if(kf==1){
                       r=kf+2;
                   }
                   if(kf==2){
                       r=kf;
                   }
                   if(kf==3){
                       r=1;
                   }
                     if(kf==0){
                       r=0;
                   }
                   
                   kf=5;
                 if(r==4){
                   r=0;
                     }
                 if(a==3){
                   
                    res=mirotar.pira(res,r);
                    r=r+1;
                 }
               
                 
                    if(a==1){
                       res=mibajar.baja(fiche);
                 }
                    if(a==5){
                     
                        if(sw==2){
                           sw=0;
                       }
                        if(sw==1){
                       
                            res=mirotar.zeta (fiche,sw);
                           
                        }
                        if(sw==0){
                           
                            res=mirotar.zeta (fiche,sw);
                         
                        }
                       sw=sw+1;
                     
                 }
                 
             
              }
             
               if(d==4){
                 
                   if(yt==1){
                       op=yt+2;
                   }
                   if(yt==2){
                       op=yt;
                   }
                  if(yt==3){
                       op=1;
                   }
                  if(yt==0){
                       op=0;
                   }
                   yt=5;
                   if(op==4){
                       op=0;
                   }
                    if(a==4){
                      res=mirotar.ele1(res,op);
                    }
                    op=op+1;
                   
                    if(a==2){
                     if(lo==2){
                         lo=0;
                     }
                   
                   res=mirotar.rotarline(res,lo);
                   lo=lo+1;
                 }
                    if(r==4){
                         r=0;
                     }
                    if(r==1){
                       kf=r+2;
                   }
                   if(r==2){
                       kf=r;
                   }
                  if(r==3){
                       kf=1;
                   }
                     if(r==0){
                       kf=0;
                   }
                   
                   r=5;
                    if(kf==4){
                         kf=0;
                     }
                    if(a==3){
                   
                    res=mirotar.pira1(res,kf);
                    kf=kf+1;
                 }
                 
                 if(a==1){
                       res=mibajar.baja(fiche);
                 }
                  if(a==5){
                       if(sw==2){
                           sw=0;
                       }
                        if(sw==1){
                       
                            res=mirotar.zeta (fiche,sw);
                           
                        }
                        if(sw==0){
                           
                            res=mirotar.zeta (fiche,sw);
                         
                        }
                       sw=sw+1;
                     
                 }
                 
             
                  }
             
             
             
              if(d==2){
                res=midesplazar.izquierda(fiche,vec1);
               }
              if(d==1){
                res=midesplazar.derecha(fiche,vec1);
               }
              if(d==0){
                 res=mibajar.baja(fiche);
               }
               int sa;
           
               int se=miespacio.seguir(fiche,vec1);
             
              if(se==1){
             
                s=50;
                 
              }
             if(se==0){
               fe=miparar.stop(fiche);
             
                if(fe==0){
                 
               for(int i=0;i<84;i++){
                  fiche[i]=res[i];
                  vec[i]=fiche[i];
               
                  mipan.color(fiche,a);
                  Thread.currentThread().sleep(5);
                  mipan.vaciar(fiche,0);
                 
                     }
                  }
             
               if(fe==1){
                   for(int i=0;i<63;i++){
               
                  vec[i]=fiche[i];
                 
                 mipan.color(fiche,a);
                 Thread.currentThread().sleep(1);
                 mipan.vaciar(fiche,1);
           
                   }
                  }
               
                }
            }
            }
       }
         
           Thread.currentThread().sleep(1);
    }
     
          catch (InterruptedException ex) {
   
           }
     }
    }
       
    }
 
   
}

viernes, 5 de abril de 2013

Descargar tetrix

tetrix hecho en java

A continuación adjunto el enlace de descarga espero les guste el tetrix :)
para rotar la ficha hacia la izquierda con la letra A, hacia la derecha on la S
desplazar hacia la izquierda con <--- hacia la derecha ---> y abajo "down".

jueves, 4 de abril de 2013

Escenarios de dominz

Ya es un hecho, se ha logrado unir la selección del color de ficha con la selección del fondo del juego dominz, ya el usuario  puede escojer entre 4 colores de fichas disponibles y tres imágenes de fondo por ahora, a continuación comparto las imágenes de como va el proyecto con estos últimos detalles:

1) sale una  mini ventana con la opción por parte del jugador de escojer color de fondo de la ficha y fondo del juego.


2)diferentes opciones de escenario de juego y color de fondo de fichas, las fichas que vemos en la posición de "fichas de la computadora" fueron escogidas por medio de una clase del juego denominada aleatorio, las fichas del jugador fueron escogidas por este al azar.


Clase menú principal de dominz

A continuación comparto el código de la clase del menú principal de dominz, el cual se encarga de enlazar los resultados obtenidos en la elección del color de la ficha y el correspondiente juego.


package dominz;

import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class Mennu implements MouseListener {
     Font mi = new java.awt.Font("Tahoma", 1, 12);
      JFrame miventana=new JFrame();
       JLabel milabel =new JLabel();
        JButton miboton1=new JButton();
         JButton miboton2=new JButton();
          JButton miboton3=new JButton();
      juego mijuego=new juego();
      Options miopcion=new Options();
      Controls  micontrol =new Controls();
      instrucciones1 miinstruccion=new instrucciones1();
       Mico mico=new Mico();
    
      public void menu(){
       
         
          milabel.setSize(600, 450);
          
          miventana.setResizable(false);
        miventana.setSize(600, 450);
        miventana.setLayout(null);
        miventana.setLocationRelativeTo(null);
        miventana.add(miboton1);
        miventana.add(miboton2);
        miventana.add(miboton3);
        miventana.add(milabel);
        miboton1.setBounds(200, 100, 200, 40);
        miboton1.setText("JUEGO NUEVO");
        miboton1.setForeground(Color.red);
        miboton1.setFont(mi);
         miboton2.setBounds(200, 150, 200, 40);
         miboton2.setText("OPCIONES");
        miboton2.setFont(mi);
        miboton2.setForeground(Color.red);
          miboton3.setBounds(200,200, 200, 40);
          miboton3.setText("INSTRUCCIONES DE JUEGO");
        miboton3.setFont(mi);
        miboton3.setForeground(Color.red);
        milabel.setIcon(new ImageIcon("domino.png"));
        
        miboton1.addMouseListener(this);
        miboton2.addMouseListener(this);
        miboton3.addMouseListener(this);
        miventana.setVisible(true);
         
    }

   

    @Override
    public void mouseClicked(MouseEvent e) {
       if(e.getSource()==miboton1){
           mico.ven();
             int a;
         
                a=mico.color();
           if(a==1){
              
               mijuego.ventana1(a);
              
           }
          if(a==2){
               System.out.print("1");
               mijuego.ventana1(a);
           }
          if(a==3){
              
               mijuego.ventana1(a);
           }
          if(a==4){
              
               mijuego.ventana1(a);
           }
      
       }
        if(e.getSource()==miboton2){
        miopcion.menu();
      
     
       }
        if(e.getSource()==miboton3){
        miinstruccion.menu();
    
     
       }
    }

    @Override
    public void mousePressed(MouseEvent e) {
       
    }

    @Override
    public void mouseReleased(MouseEvent e) {
       
    }

    @Override
    public void mouseEntered(MouseEvent e) {
        
    }

    @Override
    public void mouseExited(MouseEvent e) {
      
    }
    
}

Clase para color de fichas Dominz

A continuación comparto el código de la clase color de ficha, la cual me permite decidir sobre el color de las fichas con las cuales se va a jugar:



package dominz;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;


public class Mico implements ActionListener{
    int a;
    JButton miboton=new JButton();
    JButton miboton1=new JButton();
    JButton miboton2=new JButton();
    JButton miboton3=new JButton();
    JLabel milabel =new JLabel();
     JFrame miven=new JFrame();
public void ven (){
 
    Font mi = new java.awt.Font("Tahoma", 1, 15);
    miven.setSize(300, 300);
    miven.setLocationRelativeTo(null);
    miven.setLayout(null);
    miven.setResizable(false);
   
    milabel.setBounds(60, 10, 250, 40);
    milabel.setText("seleccione color de fichas");
    milabel.setFont(mi);
    milabel.setForeground(Color.red);
    miven.add(milabel);
   
  miboton.setBounds(100, 50, 100, 30);
  miboton.addActionListener(this);
  miven.add(miboton);
  miboton.setText("blanco");
 
   miboton1.setBounds(100, 100, 100, 30);
  miboton1.addActionListener(this);
  miven.add(miboton1);
  miboton1.setText("azul");
 
   miboton2.setBounds(100, 150, 100, 30);
  miboton2.addActionListener(this);
  miven.add(miboton2);
  miboton2.setText("rojo");
 
   miboton3.setBounds(100, 200, 100, 30);
  miboton3.addActionListener(this);
  miven.add(miboton3);
  miboton3.setText("negro");
 
 
  miven.setVisible(true);
}
   
    @Override
    public void actionPerformed(ActionEvent e) {
       if(e.getSource()==miboton){
        a=1;
       }
        if(e.getSource()==miboton1){
        a=2;
       }
         if(e.getSource()==miboton2){
        a=3;
       }
          if(e.getSource()==miboton3){
        a=4;
       }
        miven.dispose();
    }
    public int color(){
       
        return a;
    }
   
   
}



Segunda presentación de dominz

La segunda entrega del juego en desarrollo dominz, el cual consiste principalmente en el poder jugar con la computadora, ya pose la interfaz gráfica donde se jugara la partida de domino, un notable avance es el aleatorio de fichas que toma la maquina y el poder escojer nuestras propias fichas y una ves de han escogido las 7 fichas de juego, el tablero ordenara las fichas en en sitio determinado para comenzar el juego, se tiene igualmente el menú del juego con varias opciones entre las cuales encontramos por ahora un menú principal, un menú de instrucciones y un menú de controles los cuales serán los futuros controles del juego de dominz, a continuación unas imágenes del proyecto.

1 se inicia un menú interactivo para que el jugador tome opción.
2 si la opción es juego nuevo, se abrirá una mini ventana pidiendo el color de las fichas, en este caso el jugador selecciono el color rojo.

3 se carga el juego con el color correspondiente a las fichas.

martes, 2 de abril de 2013

James Gosling

Creador del lenguaje de programación java.

James Gosling 

Nacimiento19 de mayo de 1955 (57 años)
CalgaryAlbertaCanadá
NacionalidadFlag of Canada.svg Canadiense
OcupaciónCientífico de la computación
EmpleadorSun Microsystems (1984-2010)
Google (20102011)
Liquid Robotics (2011 - presente)
Conocido porCreador del lenguaje de programación Java.
HijosKate y Kelsey
PremiosOficial de la Orden de Canadá(2007)







En 1977, Gosling se licenció en ciencias de la computación por la Universidad de Calgary. En 1983, se doctoró por la Universidad Carnegie Mellon, su tesis doctoral se tituló La manipulación algebraica de las limitaciones. Su director de tesis fue Raj Reddy. Mientras trabajaba para su doctorado, escribió una versión de Emacs (Gosling Emacs), y antes de unirse a Sun Microsystems, construyó una versión multi-procesador de Unix, así como varios compiladores y sistemas de correo.

Desde 1984 James Gosling ha trabajado en la compañía estadounidense Sun Microsystems donde fue vicepresidente hasta que ésta fue comprada porOracle. Abandonó esta compañía el 2 de abril de 2010. En cuanto a por qué se fue, Gosling escribió en su blog:


Casi cualquier cosa que pudiera decir es honesta y haría más daño que bien.

Posteriormente, empezó a trabajar en Google pero el 28 de marzo de 2011 anunció en su blog que había sido despedido.1 Actualmente es Jefe de Arquitectura de Software en Liquid Robotics.2 3

Gosling es reconocido como el creador del lenguaje de programación Java. Realizó el diseño original y la implementación del compilador original y lamáquina virtual Java, por lo que fue elegido miembro de la Academia Nacional de Ingeniería de Estados Unidos (NAE).

Además, Gosling ha contribuido con otros proyectos de software como NeW.



Dominz con aleatorio

Dominz, hasta el momento permite que el jugador escoja sus fichas con un clic sobre ellas, y que están boca abajo, una ves el jugador ha seleccionado sus 7 fichas el computador selecciona sus fichas aleatoria-mente  con  ayuda de la clase aleatorio y estas se ubican en posición de juego, dejando únicamente las fichas boca abajo disponibles para robar.

lunes, 1 de abril de 2013

Adicionar imagen a Ventana en java

A continuación comparto el código para subir una imagen en una ventana en java, usando el setIcon.




package dominz;
import javax.swing.ImageIcon;

public class juego  {

 public void ventana(){

 JFrame miventana =new JFrame ();
 JButton miboton=new JButton();
 miventana.setSize(500, 500);
 miventana.add(miboton);
 miboton.setIcon(new ImageIcon("imagen.jpg"));
 miventana.setVisible(true);

}
}