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);
}
}