miércoles, 27 de noviembre de 2019

Eventos de mouse en java swing

Esta entrada es mas que nada para dar a conocer de manera separada el listener del mouse, ya que es algo que promete dar mucho de que hablar mas adelante...

Para hacer uso de estos metodos primero que nada es necesaro implementar la interface de actionListener y mouseListener, esto nos dara acceso a capturar los distintos eventos que componen al mouse.

MouseClicked: el cual se ejecuta al soltar el boton del mouse, esto se puede interpretar en un mouseUp por desir un ejemplo.

MousePressed: es cuando se presiona el boton del mouse, se puede interpretar como un mouseDown,

MouseReleased: ocurre cuando se suelta un boton del mouse

MouseEntered: este evento ocurre cuando el mouse entra al objeto sobre el que se esta agregando el evento.

MouseExited: Este evento se ejecuta cuando el mouse sale del objeto al que se agrego el evento.

A parte de estos métodos, existe otra interfaz que cuenta con otros eventos propios del mouse, dicha interfaz te permite capturar otros tipos de eventos durante el manejo del mouse, esta libreria se llama.

MouseMotionListener,al agregar dicha libreria te pide agregar los metodos MouseDragged, MouseMoved.

MouseDragged: Se dispara cuando el mouse esta siendo presionado y en movimiento.

MouseMoved: se dispara cuando el mouse se encuentra sobre un componente.

La implementación es la siguiente.


tabla.addMouseListener( new MouseListener() {
            @Override
            public void mouseClicked(MouseEvent e) {}
            @Override
            public void mousePressed(MouseEvent e) {}
            @Override
            public void mouseReleased(MouseEvent e) {}
            @Override
            public void mouseEntered(MouseEvent e) {}
            @Override
            public void mouseExited(MouseEvent e) {}
        });
        tabla.addMouseMotionListener( new MouseMotionListener() {
            @Override
            public void mouseDragged(MouseEvent e) {}
            @Override
            public void mouseMoved(MouseEvent e) {}
        });


Con esto damos fin  esta entrada.

No olvides dejar tu comentario en caso de que esto te sea de utilidad, o no, aun así agradeceria tu comentario al respecto.

viernes, 22 de noviembre de 2019

Agregar columnas a JTable

Siguiendo con el proyecto de creacion de Jtable en java viene el momento de agregar una columna a nuestra JTable.

A diferencia de como agregar un registro a nuestra JTable, para agregar una columna es mas sencillo que lo anterior, se necesita de un JOptionPane en el ejemplo que estoy usando. y punto.


Ahora trabajaremos con el total de los renglones, esto nos dará como resultado un arreglo del tipo Object que sera el data de la nueva columna, quedando de la siguiente manera.



 
    public void addCols(){
        String n = (String) JOptionPane.showInputDialog(
                null, 
                "Nombre de la columna", 
                "New Column", 
                JOptionPane.QUESTION_MESSAGE, 
                null, 
                null, 
                "Columna Nueva"
        );
        if( n==null ){
            return;
        }else if( ( n.length() == 0 ) || ( n.trim().length() == 0 ) ){
            return;
        }else if( n.trim() != null ){
            Object[] newColumn = new Object[tabla.getRowCount()];
            dtm.addColumn( n, newColumn );
        }
    }
    
Como lo mencione anteriormente, en el ejemplo que les estoy mostrando pido el nombre de la columna mediante un JOptionPane, pasandole los parametros que se requieren para mostrar esta ventana.



Al final solo se agrega la nueva columna al DefaultTableModel. le agregamos unas validaciones tales como. valor no nulo o que la longitud del valor sea mayor a 0, dejando como resultado la asignación del nombre a la nueva columna.


Sin mas es todo por hoy, Déjame tu comentario para saber en que mejorar.

jueves, 21 de noviembre de 2019

Agregar renglones a JTable

Continuando con el proyecto de creación de una tabla en java ahora corresponde al tema de agregar un nuevo elemento a la tabla ya existente, para ello vamos a crear ya sea un JButton o bien un JMenu como lo hice.

Lo importante es agregar el elemento a la tabla, vamos a ello.


Del proyecto anterior colocamos de manera global tanto la tabla como el DefaultTableModel esto con la finalizdad de poder acceder a ellos desde otros metodos, quedando de la siguiente manera.



public class CreacionTabla extends JFrame implements ActionListener{
    DefaultTableModel dtm;
    JTable tabla;
}

De esta forma podremos acceder a ellos desde cualquier parte del documento. Seguido de ello creamos el método addRows, el cual nos ayudara a agregar un nuevo elemento en la tabla, para que esto funcione necesitamos conocer el total de columnas que tiene la tabla con el método getColumnCount(), que nos da como resultado el total de columnas en la tabla.

De esta forma creamos un ciclo que recorra el total de columnas construyendo un arreglo de tipo Object para finalmente agregar celo a la tabla. el metodo addRows quedara de la siguiente manera.


    private void addRows(){
        Object[] newRow = new Object[ tabla.getColumnCount() ];
        for( int i = 0; i < tabla.getColumnCount(); i ++ ){
            newRow[ i ] = "";
        }
        dtm.addRow(newRow);
    }


Es así como queda agregado un nuevo elemento a la tabla, para poder editar el nuevo elemento es necesario dar click en la celda que se quiere editar. posteriormente agregaremos los métodos necesarios para poder insertar el elemento con su contenido.




Sin mas por el momento me despido, espero sus comentarios, no olvides seguirme para poder ser de los primeros en leer mis siguientes publicaciones... 



Creacion de JTabla en java

En lo personal las tablas nos ayudan a manejar mas información que solo un simple System.out o cualquier otra forma. Es por ello que hoy les traigo la manera en como trabajar con una JTable desde ceros.

En este capitulo les mostrare como se monta una tabla, su creacion en espera de datos. Posteriormente iremos mejorando el proyecto hasta llegar a conectarla con una base de datos y modificando la informacion de la misma, viendose reflejado en la base.


Por ahora comensemos con los siguientes requisitos. Para comensar necesitamos.

1 DefaultTableModel.
2 JTable.
3 JScrollPane.
4 JFrame.


Ahora para comenzar construiremos el frame que contendra la tabla en un principio, en nuestro constructor le decimos.


public constructor(){
     JFrame frame = new JFrame();
     frame.setTitle( "Hola Tabla" );
     //se construye la tabla y se agrega al frame
     construyeTabla(frame);
     frame.setSize( 500, 300 );
     frame.setDefaultCloseOperation(EXIT_ON_CLOE);
     frame.setVisible( true );
}

public void construyeTabla( JFrame frame ){
     Object[][] data = { {"sitio","inovania.blogspot.com"},
                            {"autor","Oscar Martagon Valera"}};
        String[] colNames= {"Dato","Descripcion"};
        DefaultTableModel dtm = new DefaultTableModel( data, colNames );
        JTable tabla = new JTable ( dtm );
     
        tabla.setPreferredScrollableViewportSize(new Dimension( 250, 250 ) );
        JScrollPane scrollPane = new JScrollPane(tabla);
        frame.add(scrollPane,BorderLayout.CENTER);
}

Quedando así de esta manera simple y sencilla como hacer una tabla en java.



Sin mas por el momento los dejo. No olvides dejar tu comentario, sígueme  para poder ser de los primeros en leer mis próximas entradas.

Hasta la proxima.