elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Eliminar Fila De Jtable(Jtabla Sin Model)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Eliminar Fila De Jtable(Jtabla Sin Model)  (Leído 4,429 veces)
ZedGe

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Eliminar Fila De Jtable(Jtabla Sin Model)
« en: 28 Noviembre 2011, 03:49 am »

Hola cree una tabla, que al ingresar 8 numeros en el textfield se rellenan los campos, según búsqueda de una base de datos, el problema es que no se como eliminar 1 fila en caso de ingresar mal  el codigo o algo asi,

Me gustaría que al hacer dobleclick sobre ella,  seleccionar un boton se borrara la fial por completa o que simplemente desaparezca aqui el codigo


O Si se puede cambiar este modelo de tabla a uno con Model mucho mejor =D, en realidad no se usar ese tipod e Jtable

Código:

package puntodeventa;



import java.awt.Color;



import java.awt.Font;
import java.awt.Label;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.io.File;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import jxl.Sheet;
import jxl.Workbook;


public class clase extends JFrame implements ActionListener, KeyListener{
    

    private int encontro=0;
    int variable1,variable2;
    int resultado[] = new int[15];
    private boolean entroCodigo = false;
    private  static int estoes=2;
    int ano=0;
    String datos[][] = new String[2000][2000];
    JPanel p1 = new JPanel(null);
    int j, i, k=0,l=0;
    String datoImprimido[] = new String[200];
    String datoEncontrado[] = new String[200];  
    String cantidad = null;
  
     String codigos[] = new String[16];
     String variableCodigo;
     JTabbedPane panelConFichas = new JTabbedPane();// crando herramienta de fichas
    
     private JButton botonCancelarArticulo;
     private ImageIcon imagenCancelarArticulo;
     private JButton botonCantidadAumento;
     private ImageIcon imagenCantidadAumento;
     private JButton botonCantidadDecremento;
     private ImageIcon imagenCantidadDecremento;
     private JTextField campoTexto1;
     private JTextField numeroProductos;
          
     public final static Color Gris= new Color(164, 159, 159);
     String[] strings =new String[5];  
     public final static Color GRIS = Gris;
     private  String codigo;
 
    
    
    
    private JTable tblEjemplo;
    private JScrollPane scpEjemplo;
    private DefaultTableModel dtmEjemplo;

     int a =0;
    


    
     public clase() {
      
       //setLayout(null);//Trabajamos Sin Layout... Si estiramos la ventana se quedaran en su lugar los botones  
      
         //empieza la primera pestaña
      
         //Creamos un Jbutton
         //Dentro del constructor podria ir el
//texto del boton pero en esta ocasion
//meteremos otro boton

        imagenCancelarArticulo=new ImageIcon("CancelarArticulo.png");
        botonCancelarArticulo=new JButton(imagenCancelarArticulo);
        botonCancelarArticulo.setIcon(imagenCancelarArticulo);
        botonCancelarArticulo.setToolTipText("F3 Cancelar Articulo");
        botonCancelarArticulo.setBounds(330,10,150,30);
        p1.add(botonCancelarArticulo);
        botonCancelarArticulo.addActionListener(this);
        
        imagenCantidadAumento=new ImageIcon("cantidadAumento.png");
        botonCantidadAumento=new JButton(imagenCantidadAumento);
        botonCantidadAumento.setIcon(imagenCantidadAumento);
        botonCantidadAumento.setBounds(800,50,16,25);
        p1.add(botonCantidadAumento);
        botonCantidadAumento.addActionListener(this);
        
                imagenCantidadDecremento=new ImageIcon("cantidadDecremento.png");
        botonCantidadDecremento=new JButton(imagenCantidadDecremento);
        botonCantidadDecremento.setIcon(imagenCantidadDecremento);
        botonCantidadDecremento.setBounds(800,75,16,25);
        p1.add(botonCantidadDecremento);
        botonCantidadDecremento.addActionListener(this);
        
        numeroProductos = new JTextField( 30 );
        numeroProductos.setText("1");
        numeroProductos.setBounds(750,50,50,50);
        numeroProductos.setFont(new Font("sansserif", Font.BOLD, 40));      
        p1.add( numeroProductos );
        
        campoTexto1 = new JTextField( 30 );
        campoTexto1.setBounds(250,50,500,50);
        p1.add( campoTexto1 );
        final String asd[]= new String[1];
      
          campoTexto1.setFont(new Font("sansserif", Font.BOLD, 40));
        campoTexto1.addActionListener(this);
        
          
        
        tblEjemplo = new JTable();
        scpEjemplo= new JScrollPane();

        //Llenamos el modelo
        dtmEjemplo = new DefaultTableModel(getFilas(),
                                                             getColumnas());

        tblEjemplo.setModel(dtmEjemplo);
        scpEjemplo.add(tblEjemplo);

      
        
        

       // tblEjemplo.setBounds(20,50,862,170);
       // scpEjemplo.setBounds(20,150,862,170);
        tblEjemplo.getColumnModel().getColumn(0).setResizable(false);
        tblEjemplo.getColumnModel().getColumn(0).setPreferredWidth(50);
        tblEjemplo.getColumnModel().getColumn(1).setResizable(true);
        tblEjemplo.getColumnModel().getColumn(1).setPreferredWidth(21);
        tblEjemplo.getColumnModel().getColumn(2).setResizable(false);
        tblEjemplo.getColumnModel().getColumn(2).setPreferredWidth(282);
        tblEjemplo.getColumnModel().getColumn(3).setResizable(false);
        tblEjemplo.getColumnModel().getColumn(3).setPreferredWidth(40);
        tblEjemplo.getColumnModel().getColumn(4).setResizable(false);
        tblEjemplo.getColumnModel().getColumn(4).setPreferredWidth(0);
         tblEjemplo.setBounds(20,50,862,170);
       scpEjemplo.setBounds(20,150,862,170);
      p1.add(tblEjemplo);
        p1.add(scpEjemplo);
      
        scpEjemplo.setViewportView(tblEjemplo);
      

    
        panelConFichas.setFont(new Font("sansserif", Font.BOLD, 18));
        panelConFichas.addTab("                        Venta 1                         ",
        null, p1, "Venta 1");//Nombre Pestaña, Icono, Agregar Label, Texto ventana
        //termina la primera pestaña le puedo agregar mas cosas pero no tengo tengo ganas ,total es una prueba
      
        
        
        getContentPane().add(panelConFichas);

        campoTexto1.addKeyListener(this);
        
       String as[] = new String[50];
    
      
  String fila[][]=new String[][] {
            {codigos[0], codigos[1], codigos[1], codigos[1], codigos[1]},
            {codigos[1], codigos[1], codigos[1], codigos[1], codigos[1]},
            {codigos[2], codigos[2], codigos[2], codigos[2], codigos[2]},
            {codigos[3], codigos[3], codigos[3], codigos[3], codigos[3]},
            {codigos[4], codigos[4], codigos[4], codigos[4], codigos[4]},
            {codigos[5], codigos[5], codigos[5], codigos[5], codigos[5]},
            {codigos[6], codigos[6], codigos[6], codigos[6], codigos[6]},
            {codigos[7], codigos[7], codigos[7], codigos[7], codigos[7]},
            {codigos[8], codigos[8], codigos[8], codigos[8], codigos[8]},
            {codigos[9], codigos[9], codigos[9], codigos[9], codigos[9]},
            {codigos[10], codigos[10], codigos[10], codigos[10], codigos[10]},
            {codigos[11], codigos[11], codigos[11], codigos[11], codigos[11]},
            {codigos[12], codigos[12], codigos[12], codigos[12], codigos[12]},
            {codigos[13], codigos[13], codigos[13], codigos[13], codigos[13]},
            {codigos[14], codigos[14], codigos[14], codigos[14], codigos[14]},
            {codigos[15], codigos[15], codigos[15], codigos[15],codigos[15]}};
        
  final boolean[] canEdit = new boolean [] {
                false, true, false, false, false
            };
  
  
       tblEjemplo=new JTable(dtmEjemplo){

        public boolean isCellEditable(int rowIndex, int vColIndex) {

           return canEdit [vColIndex];

        }}; //return false: Desabilitar edición de celdas.
  
}
  
    
    
    
    
      
@Override
public void keyTyped(KeyEvent e) {
}
 
@Override
public void keyPressed(KeyEvent e) {
}

public void keyReleased(KeyEvent e) {
    
  
   // System.out.println("ENTRA AL KEYRELEASE");
    ano = 4;
        ano = Integer.parseInt(numeroProductos.getText());
   // System.out.println(ano);    
variableCodigo = campoTexto1.getText();


int longitud=variableCodigo.length();


if(a<16){
if(longitud == 13){
entroCodigo = true;    
codigos[a]= variableCodigo;
campoTexto1.setText("");

dtmEjemplo = new DefaultTableModel(getFilas(),
                                                             getColumnas());
 tblEjemplo.setModel(dtmEjemplo);
 scpEjemplo.add(tblEjemplo);
    
        

       // tblEjemplo.setBounds(20,50,862,170);
       // scpEjemplo.setBounds(20,150,862,170);
        tblEjemplo.getColumnModel().getColumn(0).setResizable(false);
        tblEjemplo.getColumnModel().getColumn(0).setPreferredWidth(50);
        tblEjemplo.getColumnModel().getColumn(1).setResizable(false);
        tblEjemplo.getColumnModel().getColumn(1).setPreferredWidth(21);
        tblEjemplo.getColumnModel().getColumn(2).setResizable(false);
        tblEjemplo.getColumnModel().getColumn(2).setPreferredWidth(282);
        tblEjemplo.getColumnModel().getColumn(3).setResizable(false);
        tblEjemplo.getColumnModel().getColumn(3).setPreferredWidth(40);
        tblEjemplo.getColumnModel().getColumn(4).setResizable(false);
        tblEjemplo.getColumnModel().getColumn(4).setPreferredWidth(0);
      //  tblEjemplo.setBounds(20,50,862,170);
       scpEjemplo.setBounds(20,150,862,170);
      p1.add(tblEjemplo);
        p1.add(scpEjemplo);
      
        scpEjemplo.setViewportView(tblEjemplo);
      
        a++;
}  
}
else campoTexto1.setText("MAXIMO DE PRODUCTOS");
}

    
//saca las a wn
 private String[][] getFilas()
    {
          
        
      String perro = " ";  
      
      File excelSheet = null;
      Workbook workbook = null;    
            
        try {
             Workbook wb = Workbook.getWorkbook(new File("C:/Users/ZEDGE/Documents/NetBeansProjects/PuntodeVenta/archivoPrueba.xls"));
            // System.out.println(wb.getNumberOfSheets());
                for(int sheetNo=0; sheetNo<wb.getNumberOfSheets();sheetNo++)
                {                
                  Sheet sheet = wb.getSheet(sheetNo);
                  int columns = sheet.getColumns();
                  int rows = sheet.getRows();
                  String data;
                  //System.out.println("Sheet Name\t" +wb.getSheet(sheetNo).getName());
                          for(int row = 0;row < rows;row++) {
                              for(int col = 0;col < columns;col++) {
                               data = sheet.getCell(col, row).getContents();
                              //System.out.println(data);  
                               datos[col][row] = data;
                                           //01 02 03 codigos =D parte del 01                
                        //    System.out.println(as[row]);
                               // System.out.println(datos[col][row] + " " + col + " " + row);
                          }                          
                        //  System.out.println("\n");
                      }
                      }
                  } catch(Exception ioe) {
                       ioe.printStackTrace();
                  }
  i=1;
  j=0;

 while(datos[i][j] != null && entroCodigo == true && encontro != 1){
      
     //System.out.println("ENTRO EN EL WHILE 1");
    // System.out.println(codigos[l]);
     //System.out.println(datos[0][i]);
      
     if(codigos[l].equals(datos[0][i])){
        //System.out.println("ENTRO EN EL IF");
        System.out.println(codigos[l]);
        datoEncontrado[k] = String.valueOf(ano);
        k++;
        datoEncontrado[k] = datos[1][i];
        k++;
        datoEncontrado[k] = datos[2][i];
        k++;
        datoEncontrado[k] = String.valueOf(ano *  Integer.parseInt(datos[2][i]));
        k++;
        ano =0;
        encontro=1;
        numeroProductos.setText("1");  
        l++;
        //System.out.println(datoEncontrado[0]);
        //System.out.println(datoEncontrado[1]);
        //System.out.println(datoEncontrado[2]);
        //System.out.println(datoEncontrado[3]);
        }
     else{//System.out.println("ENTRO EN EL ELSE");
         i++;}          
 }      
   int m=0;    
 //System.out.println("SALIO WHILE IMPORTANTE");
 
 while(m < k){
     encontro =0;
     datoImprimido[m] = datoEncontrado[m];
     m++;
     }              
          String fila[][]=new String[][] {
            {codigos[0], datoImprimido[0], datoImprimido[1], datoEncontrado[2], datoEncontrado[3]},
            {codigos[1], datoImprimido[4], datoImprimido[5], datoImprimido[6], datoImprimido[7]},
            {codigos[2], datoImprimido[8], datoImprimido[9], datoImprimido[10], datoImprimido[11]},
            {codigos[3], datoImprimido[12], datoImprimido[13], datoImprimido[14], datoImprimido[15]},
            {codigos[4], datoImprimido[16], datoImprimido[17], datoImprimido[18], datoImprimido[19]},
            {codigos[5], datoImprimido[20], datoImprimido[21], datoImprimido[22], datoImprimido[23]},
            {codigos[6], datoImprimido[24], datoImprimido[25], datoImprimido[26], datoImprimido[27]},
            {codigos[7], datoImprimido[28], datoImprimido[29], datoImprimido[30], datoImprimido[31]},
            {codigos[8], datoImprimido[32], datoImprimido[33], datoImprimido[34], datoImprimido[35]},
            {codigos[9], datoImprimido[36], datoImprimido[37], datoImprimido[38], datoImprimido[39]},
            {codigos[10], datoImprimido[40], datoImprimido[41], datoImprimido[42], datoImprimido[43]},
            {codigos[11], datoImprimido[44], datoImprimido[45], datoImprimido[46], datoImprimido[47]},
            {codigos[12], datoImprimido[48], datoImprimido[49], datoImprimido[50], datoImprimido[51]},
            {codigos[13], datoImprimido[52], datoImprimido[53], datoImprimido[54], datoImprimido[55]},
            {codigos[14], datoImprimido[56], datoImprimido[57], datoImprimido[58], datoImprimido[59]},
            {codigos[15], datoImprimido[60], datoImprimido[61], datoImprimido[62], datoImprimido[63]}, };
    
  
          return fila;

}
private String[] getColumnas()
    {
          String columna[]=new String[]{"","","", "", ""};
          return columna;
        
    }
      
    

    @Override
    public void actionPerformed(ActionEvent e) {

         if ( e.getSource() == campoTexto1 ){
            codigo = e.getActionCommand();}
        
         if (e.getSource()== botonCantidadAumento) {
              
              numeroProductos.setText("");
              numeroProductos.setText(Integer.toString(estoes));
              numeroProductos.setFont(new Font("sansserif", Font.BOLD, 40));
              estoes++;
        }

    }
    
      public static void main(String[] ar) {
        clase formulario=new clase();
        formulario.setBounds(0,0,1025,570);
        formulario.setVisible(true);
        formulario.setLocation(0,160);
        formulario.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      
    }
    
    }    



« Última modificación: 28 Noviembre 2011, 03:54 am por ZedGe » En línea

Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: Eliminar Fila De Jtable(Jtabla Sin Model)
« Respuesta #1 en: 28 Noviembre 2011, 16:11 pm »

para eliminar datos de una tabla es recomendable que uses DefaultTableModel o AbstractTableModel


En línea

ZedGe

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Re: Eliminar Fila De Jtable(Jtabla Sin Model)
« Respuesta #2 en: 28 Noviembre 2011, 17:48 pm »

Eso mismo averigue ayer y hoy... pero tengo un problema... creo la tabla con DefaultTableModel, pero el JScrollPane no me funciona.. tienes tu algún código de este tipo de tabla con scrollpane?


Código:
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JScrollPane;


import javax.swing.JTable;

import javax.swing.table.DefaultTableModel;

public class clase extends JFrame {
 
  DefaultTableModel model = new DefaultTableModel(new Object[][] {
      { "some", "text" }, { "any", "text" }, { "even", "more" },
      { "text", "strings" }, { "and", "other" }, { "text", "values" } },
      new Object[] { "Column 1", "Column 2" });

  JTable table = new JTable(model);
  JScrollPane scrollPane = new JScrollPane(table);
 

  public clase() {
    super();
   
    setLayout(null);
    table.setBounds(10, 150, 550, 20);
    table.setGridColor(Color.black);
    table.setShowGrid(true);
    getContentPane().add(table);
    getContentPane().add(scrollPane);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    setSize(500, 500);
    setVisible(true);
  }

  public static void main(String[] args) {
    clase app = new clase();
  }

}
En línea

Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: Eliminar Fila De Jtable(Jtabla Sin Model)
« Respuesta #3 en: 29 Noviembre 2011, 04:57 am »

si no vas a utilizar ningun layout tienes que especificar la posicion del scrollPane y no del jtable, ya que este se encuentra en el scrollpane, y solo tienes que agregar el scrollpane al contenedor principal mas no el jtable
En línea

ZedGe

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Re: Eliminar Fila De Jtable(Jtabla Sin Model)
« Respuesta #4 en: 29 Noviembre 2011, 23:35 pm »

si en eso me di cuenta anoche pero no tube tiempo de postearlo :P gracias amigo por todo, ire a aplicar lo aprendido aca
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
duda de eliminar fila en vba para excel
Programación Visual Basic
Railil 5 7,295 Último mensaje 15 Noviembre 2006, 13:12 pm
por Railil
Eliminar Fila de un Datagrid View usando valor de un inputbox
.NET (C#, VB.NET, ASP)
syaoran 1 4,589 Último mensaje 23 Abril 2008, 06:24 am
por rain_in!the!_universe
Problema Con Selección De Fila En Jtable Y Evento « 1 2 »
Java
ZedGe 12 13,278 Último mensaje 24 Noviembre 2011, 18:57 pm
por Leyer
Cómo seleccionar una fila de un JTable de Java
Java
soy_nicanor 5 8,466 Último mensaje 22 Enero 2015, 22:48 pm
por Usuario Invitado
JTable: Seleccionar Fila Y Mostrar Los Datos En Componentes JTextField
Java
Skar.2007 1 1,954 Último mensaje 10 Abril 2015, 21:03 pm
por Usuario Invitado
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines