Consulta sobre código

Iniciado por SebastianJava, 26 Octubre 2013, 22:27 PM

0 Miembros y 2 Visitantes están viendo este tema.

SebastianJava


Mitsu

Tienes que colocar el code entre:

[ code==java]

[ / code]

Sin espacios.

SebastianJava

te debo tener loco con tanta pregunta, discullpame 

Te explico de forma forma, estoy intentando hacer un CRUD, para lo cual, estoy tratando de insertar un JTABLE, para que me muestre los datos ingresados, un boton ingresar, modificar, consultar, eliminar, y limpiar, cuando inserte JTABLE, se me borraron los campos de nombre, direccion, etc... grcias.

Código (=java) [Seleccionar]

package menu;

import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JPanel;

import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridLayout;

import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;

import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.WindowConstants;
import javax.swing.JOptionPane; // de aca en adelante para asignar accion al boton
import javax.swing.JButton;


import javax.swing.event.TableModelListener;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Scanner;
import java.util.Vector;



public class MenuPrincipal{

private JFrame frame;
private JPanel panelSuperior;
private JPanel panelInferior;
private JPanel panelBoton;

private JLabel titulo;

private JLabel JLabel1;
private JTextField JText1;
private JLabel JLabel2;
private JTextField JText2;
private JLabel JLabel3;
private JTextField JText3;
private JLabel JLabel4;
private JTextField JText4;
private JLabel JLabel5;
private JTextField JText5;
private JLabel JLabel6;
private JComboBox combo;

private JButton btnregistrar;
private JButton btnconsultar;
private JButton btnborrar;
private JButton btnmodificar;

private JButton btnlimpiar;
private JScrollPane jScrollPane;
private JTable tabla;

private void itializeComponent()
    {
                  jsp1 = new JScrollPane();
                  int nombreColumnas;
     
                 
modelo1 = new DefaultTableModel(null, nombreColumnas);
     
                  tabla1 = new JTable(modelo1);
     
                  jsp1.setViewportView(tabla1);
    }

public MenuPrincipal() {
construyePanelSuperior();
construyePanelInferior();
construyePanelBoton();
construyeVentana();




}

    private DefaultTableModel modelo1;
    private JTable tabla1;
    JScrollPane jsp1;
     
   
public void construyePanelSuperior(){

panelSuperior = new JPanel();
panelSuperior.setLayout(new FlowLayout());
panelSuperior.setBackground(Color.LIGHT_GRAY);

titulo = new JLabel("Ingreso de Datos");
panelSuperior.add(titulo);

}

public void construyePanelInferior() {
panelInferior = new JPanel();
panelInferior.setLayout(new GridLayout(3, 8, 12, 30)); // FILAS COLUMNAS
// LARGO ANCHO
JLabel1 = new JLabel("      Rut : ");
JText1 = new JTextField(10);

JLabel2 = new JLabel("      Nombre : ");
JText2 = new JTextField(10);

JLabel3 = new JLabel("      Apellido : ");
JText3 = new JTextField(10);

JLabel4 = new JLabel("      Dirección : ");
JText4 = new JTextField(10);

JLabel5 = new JLabel("      Teléfono : ");
JText5 = new JTextField(10);

JLabel6 = new JLabel("      Ciudad  :");
combo = new JComboBox();

combo.addItem("Valparaiso");// AGREGAR OPCIONES COMBO
combo.addItem("Viña del Mar");
combo.addItem("Villa Alemana");
combo.addItem("Santiago");
combo.addItem("Pto. Montt");

panelInferior.add(JLabel1);
panelInferior.add(JText1);

panelInferior.add(JLabel2);
panelInferior.add(JText2);

panelInferior.add(JLabel3);
panelInferior.add(JText3);

panelInferior.add(JLabel4);
panelInferior.add(JText4);

panelInferior.add(JLabel5);
panelInferior.add(JText5);

panelInferior.add(JLabel6);
panelInferior.add(combo);
}

public void construyePanelBoton() {
// se da formato a panel
panelBoton = new JPanel();
panelBoton.setLayout(new FlowLayout(FlowLayout.CENTER));

// se le da accion al boton registrar
btnregistrar = new JButton("Registrar");
btnregistrar.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent ae){
JOptionPane.showMessageDialog(null,"Usuario Registrado");

}
});

// se le da accion al boton borrar
btnborrar = new JButton("Borrar");
btnborrar.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
JOptionPane.showMessageDialog(null,"Usuario Eliminado");
}
});


// se le da accion al boton modificar
btnmodificar = new JButton("Modificar");
btnmodificar.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
JOptionPane.showMessageDialog(null,"Usuario Modificado");
}
});


// se le da accion al boton consultar
btnconsultar = new JButton("Consultar");
btnconsultar.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
JOptionPane.showMessageDialog(null,"Consulta Exitosa");
}
});


// se le da accion al boton Limpiar OK!!!!!!!!!!!!!!!!!!!!!!!!!
btnlimpiar = new JButton("Limpiar");
btnlimpiar.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
JOptionPane.showMessageDialog(null,"Datos Limpiados");
JText1.setText("");
JText2.setText("");
JText3.setText("");
JText4.setText("");
JText5.setText("");
combo.setSelectedIndex(0);
}
});

// aca se agregan los paneles y botones

panelBoton.add(btnregistrar);
panelBoton.add(btnborrar);
panelBoton.add(btnmodificar);
panelBoton.add(btnconsultar);
panelBoton.add(btnlimpiar);

}


public void construyeVentana() {
frame = new JFrame(" ");
frame.add(panelSuperior);
frame.add(panelInferior);
frame.add(panelBoton);
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setTitle("Ingreso de Datos Clientes Ver. 1.0"); // borde titulo pantalla

}

public static void main(String[] arg) {
new MenuPrincipal();
}
}[ / code]

Mitsu

#13
Disuclpa, no estaba. Aquí te dejo un pequeño code, no lo he probado pero debería funcionar. Agrega y elimina filas:

Código (=java) [Seleccionar]

import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;

public class Tabla extends JFrame implements ActionListener{

   private JTextField txtNombre;
   private JTextField txtApellidoP;
   private JTextField txtApellidoM;
   private JTextField txtDNI;
   private JButton btnAdd;
   private JButton btnRemove;
   private JTable table;
   private DefaultTableModel modelo;
   
   String[] cabeceras =
       {
           "Nombre","Apellido P.","Apellido M.","DNI"
       };
   
   public static void main(String... args) {
       new Tabla();
   }
   
   public Tabla() {
       super("Ejemplo Tabla");
       setLayout(null);
       JLabel lblNombre = new JLabel("Nombre:");
       JLabel lblApellidoP = new JLabel("Apellido P.:");
       JLabel lblApellidoM = new JLabel("Apellido M.:");
       JLabel lblDNI = new JLabel("DNI:");
       
       txtNombre = new JTextField("",10);
       txtApellidoP = new JTextField("",10);
       txtApellidoM = new JTextField("",10);
       txtDNI = new JTextField("",10);
       
       btnAdd = new JButton("Agregar");
       btnRemove = new JButton("Eliminar");
       
       lblNombre.setBounds(20,20,80,20);
       lblApellidoP.setBounds(250,20,80,20);
       lblApellidoM.setBounds(20,70,80,20);
       lblDNI.setBounds(250,70,80,20);
       txtNombre.setBounds(130,22,100,25);
       txtApellidoP.setBounds(330,22,100,25);
       txtApellidoM.setBounds(130,72,100,25);
       txtDNI.setBounds(330,72,100,25);
       btnAdd.setBounds(30,102,90,35);
       btnAdd.addActionListener(this);
       btnRemove.setBounds(130,102,90,35);
       btnRemove.addActionListener(this);
       
       
       //Array bidimensional de objetos con los datos de la tabla
       Object[][] data = {{null, null, null, null, null}
       };

       //Creacion de la tabla
       modelo = new DefaultTableModel(data,cabeceras);
       table = new JTable(modelo);
       table.setPreferredScrollableViewportSize(new Dimension(500, 80));

       //Creamos un scrollpanel y se lo agregamos a la tabla
       JScrollPane scrollpane = new JScrollPane(table);
       scrollpane.setBounds(20, 142, 400, 120);

       
       this.add(lblNombre);
       this.add(txtNombre);
       this.add(lblApellidoP);
       this.add(txtApellidoP);
       this.add(lblApellidoM);
       this.add(txtApellidoM);
       this.add(lblDNI);
       this.add(txtDNI);
       this.add(btnAdd);
       this.add(btnRemove);
       this.add(scrollpane);
       
       this.setSize(500,500);
       this.setVisible(true);
       this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
   }

   /* *********************************************************************************************************
     EVENTOS DE LOS BOTONES
   * *********************************************************************************************************/
   @Override
   public void actionPerformed(ActionEvent e) {
       if(e.getSource() == btnAdd){
           String nombre = txtNombre.getText();
               String apellido = txtApellidoP.getText();
               String apellidom = txtApellidoM.getText();
               String dni = txtDNI.getText();
               
               modelo.addRow(new Object[]{nombre,apellido,apellidom,dni});
       }
       else if(e.getSource() == btnRemove) {
           try {
           modelo=(DefaultTableModel) table.getModel();
           modelo.removeRow(table.getSelectedRow());

       } catch (Exception ex) {
           }
       }
   }
   
   
   

}



Las celdas son editables por defecto en los JTable. Para el resto, te toca investigar ;)

SebastianJava

Eres un genio, como hiciste eso, yo que estuve bastante tiempo trtando de hacerlo, mi codigo es gigante comparado al tuyo, mil gracias, investigare el resto,  ;)

Mitsu

Me alegro que te haya servido. Sigue practicando!


Saludos.

SebastianJava

AMIGO ME RECOMIENDA ALGUN LIBRO PARA PRINCIPIANTES C;

Mitsu

Como programar en Java - Deitel: http://depositfiles.org/files/rqppw0qp4

También, Pensar en Java de Bruce Eckel.

SebastianJava