Fórum Manipular Jtable com condição, como proceder? #582673
20/06/2017
0
Boa tarde pessoal, esse é meu primeiro post aqui no fórum.
sou novo no assunto e por tanto já vou começar a fazer alguns cursos aqui do site, mas enquanto não fico bom, estou tendo muitas duvidas.
estou em uma parte que desconheço que é a manipulação da tabela.
eu tenho 4 colunas onde vou lançar dados coletados nelas e preciso que com base nesses resultados ela mude um combobox com conteúdo "Aprovado, Reprovado e Referencia" que está situado na grade da jttable.
eu tenho 2 maneiras de resultados..
1- coluna Resultado_Numerico -> onde são lançados os resultados numéricos
2- coluna Resultado_Texto -> onde são lançados os resultados texto e numéricos
alem dessas colunas eu tenho outra coluna que se chama "Tipo" onde ela contem valores "Min e Max, Texto, No Min, No Max"
onde são selecionados em outra jframe e tenho outra coluna com valores com base na coluna acima
exemplo: Min e Max (150 a 180) No Min (130) No Max (150) e texto (qualquer valor) pode ser qualquer valor, mas esse é apenas um exemplo.
oq quero com isso..
quando eu lançar resultados na coluna "Resultado_Numerico ou Resultado_Texto, ele faça a comparação e mude para aprovado, reprovado ou referencia.
se o valor do campo resultado numero estiver dentro da especificação do Min e Max, quer dizer q está aprovado e se estiver acima ou abaixo, reprovado.
se o valor do tipo texto for igual ou especificado exemplo "30043563" e a pessoa lançar o valor "30043563" quer dizer que está aprovado e se não estiver igual, quer dizer que está reprovado.
se o valor No Min ou No Max estiver igual exemplo "15" e a pessoa lançar "15" quer dizer que ele é referencia e se não estiver igual, é reprovado.
Por favor, alguém poderia me ajudar?
segue meu código de tabela
combobox
sou novo no assunto e por tanto já vou começar a fazer alguns cursos aqui do site, mas enquanto não fico bom, estou tendo muitas duvidas.
estou em uma parte que desconheço que é a manipulação da tabela.
eu tenho 4 colunas onde vou lançar dados coletados nelas e preciso que com base nesses resultados ela mude um combobox com conteúdo "Aprovado, Reprovado e Referencia" que está situado na grade da jttable.
eu tenho 2 maneiras de resultados..
1- coluna Resultado_Numerico -> onde são lançados os resultados numéricos
2- coluna Resultado_Texto -> onde são lançados os resultados texto e numéricos
alem dessas colunas eu tenho outra coluna que se chama "Tipo" onde ela contem valores "Min e Max, Texto, No Min, No Max"
onde são selecionados em outra jframe e tenho outra coluna com valores com base na coluna acima
exemplo: Min e Max (150 a 180) No Min (130) No Max (150) e texto (qualquer valor) pode ser qualquer valor, mas esse é apenas um exemplo.
oq quero com isso..
quando eu lançar resultados na coluna "Resultado_Numerico ou Resultado_Texto, ele faça a comparação e mude para aprovado, reprovado ou referencia.
se o valor do campo resultado numero estiver dentro da especificação do Min e Max, quer dizer q está aprovado e se estiver acima ou abaixo, reprovado.
se o valor do tipo texto for igual ou especificado exemplo "30043563" e a pessoa lançar o valor "30043563" quer dizer que está aprovado e se não estiver igual, quer dizer que está reprovado.
se o valor No Min ou No Max estiver igual exemplo "15" e a pessoa lançar "15" quer dizer que ele é referencia e se não estiver igual, é reprovado.
Por favor, alguém poderia me ajudar?
segue meu código de tabela
DefaultTableModel modelo = new DefaultTableModel(null, new String[]{
"ID", // 0
"Ordem", // 1
"Linha", // 2
"Linha_Tipo", // 3
"Setor", // 4
"Perfil", // 5
"Bpcs", // 6
"Desc_Perfil", // 7
"Projeto", // 8
"OEM", // 9
"Nº_Desenho", // 10
"Nº_Plano", // 11
"Operação", // 12
"Equipamento", // 13
"Desc_Teste", // 14
"Complemento", // 15
"Cod_Teste", // 16
"Espec_Min", // 17
"Espec_Max", // 18
"Espec_Unid", // 19
"Espec_Texto", // 20
"Referência", // 21
"Frequência", // 22
"Freq_Unid", // 23
"Produto", // 24
"Origem", // 25
"Tipo", // 26
"Especificação", // 27
"Freq_Texto", // 28
"Laboratorio", // 29
"Resultado_Numerico", // 30
"Resultado_Texto", // 31
"Observação", // 32
"Aprovado"}) { // 33
@Override
public boolean isCellEditable(int linha, int coluna) {
switch (coluna) {
case 30:
case 31:
String tipo = (String) getValueAt(linha, 26);
if (tipo != null) {
switch (tipo) {
case "Min e Max":
case "No Min":
case "No Max":
return coluna == 30;
case "Texto":
return coluna == 31;
default:
return false;
}
}
return false;
case 32:
case 33:
return true;
default:
return false;
}
}
};combobox
TableColumn coluna_um = CadresultadoTabela.getColumnModel().getColumn(33);
coluna_um.setCellEditor(new DefaultCellEditor(combo));
combo.addItem("");
combo.addItem("Aprovado");
combo.addItem("Reprovado");
combo.addItem("Referência");Rafael Chaves
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)