Como eu faço isso?
Eu tenho uma classe e preciso que receba o valor digitado dentro dela (do jtextfield)
com combobox da certo, pq no jtextfield nao?
Combo: Contrato c = (Contrato) cbIDContrato.getSelectedItem();
Como eu faço isso?
Eu tenho uma classe e preciso que receba o valor digitado dentro dela (do jtextfield)
com combobox da certo, pq no jtextfield nao?
Combo: Contrato c = (Contrato) cbIDContrato.getSelectedItem();
E como vc fez com o JTextField?
assim:
ContratoDao dao = new ContratoDao();
Contrato contrato = new Contrato();
contrato = dao.valorContrato(Integer.parseInt(txtCodigoContrato.getText()));
incompatible types
required: contratos.bean.Contrato
found: java.lang.String
Isso aí só está dizendo que o método valorContrato retorna uma String e não um Contato.
Pode postar o método valorContrato do seu DAO?
É este aqui, com combobox ele me mostrava o valor perfeitamente.
public String valorContrato;
public String valorContrato(Integer codContrato) throws SQLException
{
String sql = "select c.cod_contrato,c.valor_contrato, valor_contrato "+
"from contrato c inner join nf n on c.cod_contrato = n.cod_contrato "+
"where c.cod_contrato=? group by c.cod_contrato,c.valor_contrato";
PreparedStatement stmt = this.conexao.prepareStatement(sql);
stmt.setInt(1, codContrato);
ResultSet rs = stmt.executeQuery();
while (rs.next())
{
valorContrato = rs.getString("valor_contrato");
}
rs.close();
stmt.close();
return valorContrato;
}
Então. Esse método está retornando uma String, mas você está tentando atribuí-lo a um objeto do tipo Contato.
Veja que não tem nada a ver com o JTextField ou com o ComboBox. Isso está funcionando corretamente. O parâmetro do JTextField entra no método, o método funciona e retorna uma String.
É na linha:
[color=red]contrato =[/color] dao.valorContrato(Integer.parseInt(txtCodigoContrato.getText()));
Que está o problema, pois o retorno do método é String e não um Contato:
public [color=red]String[/color] valorContrato(Integer codContrato) throws SQLException
No ComboBox é possível pois você tem um Contato diretamente dentro do Combo. Como vc mesmo indicou, você nem sequer chama o método valorContrato. Será que o certo ali não seria algo como carregarContato?