Java - Sumar dos celdas mostrar resultado en otra celda

 
Vista:
sin imagen de perfil

Sumar dos celdas mostrar resultado en otra celda

Publicado por Luis Eduardo (9 intervenciones) el 16/10/2015 20:37:15
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
sin imagen de perfil

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
sin imagen de perfil

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