Olá pessoal, estou com dificuldades em uma coisa do JTable.
O usuário vai inserindo dados e no final vai clicar em um botão.
Ao clicar nesse botão, é para pegar todos os valores das N linhas e da coluna 4 dessas N linhas e somá-las. Dps de somá-las, iria subtrair esse resultado de um outro valor.
Mas não estou conseguindo fazer isso!!
Alguém tem idéia de como eu poderia fazer?
Obrigado desde já pela atenção.
Como está a estrutura para represtar as informações do table na sua classe tablemodel? Você não tem a quarta coluna como um objeto numérico?
Coloque ai a implementação do teu tablemodel.
fw
Oque você usa? DefaultTableModel ou uma classe que extende AbstractTableModel? Se não usa recomendo começar agora porque é muito mais façil controlar os dados da Table
[code]package aplicacoes;
import javax.swing.*;
import java.awt.;
import java.awt.event.;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.List;
import java.awt.Dimension;
import javax.swing.table.*;
public class Estudos extends JFrame {
List<Double> salario;
List<Double> descontos;
public double salarioLiquido;
Double salarioFuncionario;
Double descontoFuncionario;
/**
*
*/
private static final long serialVersionUID = 1L;
public Estudos(){
super("Folha de Pagamento");
final DefaultTableModel modelo = new
DefaultTableModel();
JTable tabela = new JTable(modelo);
modelo.addColumn("Nome");
modelo.addColumn("Salário Bruto");
modelo.addColumn("Desconto INSS");
modelo.addColumn("Salário Líquido");
JButton botao = new JButton("Adicionar Funcionário");
botao.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
String nome = JOptionPane.showInputDialog(
null, "Informe o nome:");
String salarioBruto = JOptionPane.showInputDialog(null, "Informe o salário Bruto:");
double a = Double.parseDouble(salarioBruto);
salario = new ArrayList<Double>();
salario.add(a);
String descontoINSS = JOptionPane.showInputDialog(null, "Informe o desconto do INSS:");
double a1 = Double.parseDouble(descontoINSS);
descontos = new ArrayList<Double>();
descontos.add(a1);
salarioFuncionario = salario.get(0);
descontoFuncionario = descontos.get(0);
salarioLiquido = salarioFuncionario - (salarioFuncionario * (descontoFuncionario/100));
modelo.addRow(new Object[]{nome, salarioBruto, descontoINSS, salarioLiquido});
}
}
);
JButton calcular = new JButton("Calcular");
calcular.addActionListener(
new ActionListener(){
Object salarioFinal;
public void actionPerformed(ActionEvent e){
salarioFinal = modelo.getValueAt(1, 4);
JOptionPane.showMessageDialog(null, salarioFinal);
}
}
);
tabela.setPreferredScrollableViewportSize(new
Dimension(400, 200));
Container c = getContentPane();
c.setLayout(new FlowLayout());
JScrollPane scrollPane = new JScrollPane(tabela);
c.add(scrollPane);
c.add(botao);
c.add(calcular);
setSize(500, 300);
setVisible(true);
}
}[/code]
Como eu poderia transformar a quarta coluna em objeto numerico?