Java - Sumar dos celdas mostrar resultado en otra celda

   
Vista:

Sumar dos celdas mostrar resultado en otra celda

Tengo una tabla que lleno de informacion con BD de mysql. Lo que quiero hacer es que al cambiar cual quiera de los valores A y B (vienen en rojo en la imagen) me haga la divicion y lo muestre en la el valor C esto lo haga cuando le hagas alguna modificacion a la tabla.
jksajklsajklsajklsda

me han dicho que con listener pero no he podido hacerlo
1
2
3
4
5
6
7
table.getModel().addTableModelListener(new TableModelListener(){
 
        	public void tableChanged (TableModelEvent e){
 
 
        	}
        });

este codigo es como lleno la JTable
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
public void valores (String MRP_controller, String x_user){
    	JButton btnPic = new JButton("Cargar Piclist");
        btnPic.addActionListener(new ActionListener() {
        	public void actionPerformed(ActionEvent e) {
        		cn = new DBConnection();
        		try{
        			String strsql = "SELECT  No_Material ,Plant_Use, Supplier , No_Mat_Supplier , MRP_Controller ,  Use_Dialy , Inventory , Inventory / Use_Dialy as  DOH ,DATE_ADD(NOW(),INTERVAL ROUND(Inventory / Use_Dialy) DAY), No_Supplier  FROM material WHERE MRP_Controller = "+MRP_controller+" ORDER BY DOH ASC";
        			PreparedStatement pstm = cn.getConnection().prepareStatement(strsql);
                     ResultSet res = pstm.executeQuery();
                     modelo.addColumn("Material");
                     modelo.addColumn("Exclusivo");
                     modelo.addColumn("Vendor");
                     modelo.addColumn("Vendor mat");
                     modelo.addColumn("MRP Controller");
                     modelo.addColumn("Uso Diario");
                     modelo.addColumn("On Hand");
                     modelo.addColumn("DOH");
                     modelo.addColumn("D.T.");
                     modelo.addColumn("Transito");
                     modelo.addColumn("DOH + Transito");
                     modelo.addColumn("D.T. + Transito");
                     modelo.addColumn("ETA");
                     modelo.addColumn("Comentario");
 
                     while(res.next()){
                    	 Object [] fila = new Object [9];
                    	 for(int x=0;x<9;x++)
                    		 fila [x]=res.getObject(x+1);
                    		 modelo.addRow(fila);
 
                     }
        		}
        		catch(SQLException e1){
                    System.out.println(e1);
                }
        	}
        });
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Josué

Sumar dos celdas mostrar resultado en otra celda

Publicado por Josué (14 intervenciones) el 17/10/2015 18:09:51
Yo te recomendaría usar un ContainerListener

table.addContainerListener(new java.awt.event.ContainerAdapter(){

int fila;

public void componentAdded(java.awt.event.ContainerEvent e){
fila=table.getSelectedRow();
}

public void componentRemoved(java.awt.event.ContainerEvent e){
int UsoDiario=(int)table.getValueAt(fila,5);
int OnHand=(int)table.getValueAt(fila,6);
int DOH=OnHand/UsoDiario;
table.setValueAt(DOH,fila,7);
}

});

si tus valores son String deberas suplantar el código
int UsoDiario=(int)table.getValueAt(fila,5);
por
int UsoDiario=Integer.parseInt(table.getValueAt(fila,5));
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Sumar dos celdas mostrar resultado en otra celda

Publicado por Luis Eduardo (9 intervenciones) el 19/10/2015 18:45:38
este es mi codigo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
table.addContainerListener(new java.awt.event.ContainerAdapter(){
        	int fila;
        	public void componentAdded(java.awt.event.ContainerEvent e){
        		fila = table.getSelectedRow();
        	}
        	public void componentRemoved(java.awt.event.ContainerEvent e){
        		try{
        			int usoDiario = Integer.parseInt(table.getValueAt(fila, 5));<---------- aqui me pide agregar un string despues antes de table.getValue
        			int OnHand =Integer.parseInt(table.getValueAt(fila, 8));;<---------- aqui me pide agregar un string despues antes de table.getValue
            		double DOH = usoDiario/OnHand;
            		table.setValueAt(DOH, fila, 10);
        		}
        		catch(ClassCastException e1){
        			JOptionPane.showMessageDialog(null, e1);
        		}
 
        	}
        });
al ponerle el string que me pide me sale este error
error
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Sumar dos celdas mostrar resultado en otra celda

Publicado por Luis Eduardo (9 intervenciones) el 19/10/2015 19:32:10
listo lo solucione gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar