lunes, 20 de mayo de 2019

MMORPG -- > main

Siguiendo con el proceso de lo anterior, del lado del servidor, se me hizo cordial el hacer una vista mas amigable para la lectura del estado de los usuarios,

Hasta este momento solo se agregan unos cambios a la clase ThreadServidor y se agrega una clase llamada Principal, que, Como su nombre lo indica, sera esta nuestra clase principal...

Tambien por otro lado se cambio el nombre del paquete [ de: com.inovania.cliente.mmorpg, a: com.inovania.server.mmorpg ] ya que dichos archivos son parte del server y no del cliente.

El código de la clase principal queda de la siguiente manera:

import com.inovania.server.mmorpg_proyect.hilo.ThreadServidor;
import com.inovania.server.mmorpg_proyect.pojo.Usuario;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.event.ListSelectionEvent;

public class Principal extends JFrame{
    JTextArea txtMostrar;
    JTextArea txtMensajeServer;
    
    public JList lstUsuarios;
    public static void main(String[] args) {
        Principal app = new Principal();
    }
    private void init(){
        this.setSize(625,555);
        this.setTitle("Cliente Servidor MMORPG");
        this.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        this.setLayout( null );
        
        txtMostrar = new JTextArea();
        JScrollPane jsp1 = new JScrollPane( txtMostrar );
        jsp1.setBounds( 5,5, 400, 400 );
        this.add( jsp1 );
        
        txtMensajeServer = new JTextArea();
        JScrollPane jsp2 = new JScrollPane( txtMensajeServer );
        jsp2.setBounds( 5, 410, 600, 100 );
        this.add( jsp2 );
        
        lstUsuarios = new JList( new ThreadServidor().getUsuarios() );
        lstUsuarios.setBounds( 410, 5,192,400 );
        lstUsuarios.addListSelectionListener( ( ListSelectionEvent e ) -> {
            if( e.getValueIsAdjusting() ){
                Usuario usr = ( Usuario ) ( (JList) e.getSource() )
                        .getSelectedValue();
                System.out.println("usuario seleccionado " + 
                        usr.getUserName() + " " + usr.getIp_Client() );
            }
        });
        this.add( lstUsuarios );
        
        this.setVisible( true );
        
    }
    public Principal(){
        init();
    }

Tambien en este punto hemos modificado el código de ThreadServidor agregando un método mas, el siguiente.

    /**
     * cargara los usuarios conectados y los mostrara en la lista en la 
     * pantalla del servidor
     * @return
     */
    public DefaultListModel getUsuarios() {
        DefaultListModel rtn = new DefaultListModel<>();
        Usuario usr = new Usuario();
        usr.setUserName("usuarioNuevo");
        usr.setIp_Client("192.0.0.2");
        usr.setNickName("El primero");
        usr.setPassword("encriptada");
        rtn.addElement( usr );
        return rtn;
    }



Sin mas por ahora quedamos hasta ---->. <--- este punto.

No olvides Dejar tu comentario y seguirme para poder continuar con este proyecto juntos.


No hay comentarios:

Publicar un comentario