Sou novo na programação java e estou com uma duvida.
Em um projeto eu utilizei o componente JSlider e queria que o mesmo setasse no label dessa forma:
lblInicio.setText(Integer.toString(sliInicio.getValue()));
Já em outro projeto eu utilizei o componente JSpinner e queria tambem que ele setasse no label dessa forma:
lblA.setText(txtA.getValue().toString());
AS duas deram certo, porem minha duvida é, porque no componente JSlider eu tive que usar integer.tostring(getvalue) e no componente JSpinner eu tive que usar getvalue().tostring ? Sendo que os dois componentes trabalham com valores!?
A diferença está no tipo de dado retornado por esses métodos (leia sempre a doc da classe que irá usar)…
Não é porque possuem o mesmo nome que devem retornar a mesma coisa…
No JSlider o método getValue retorna um int…
E no JSpinner o método getValue retorna um Object…
Quando se usa Integer.toString… você converte um int para String…
Quando se usa getValue.toString, você está representando o Object em String, pois todo objeto por ser filho de Object, possui um método toString em sua classe (se ainda não pegou a base de programação OOP sugiro ler essa apostila antes de avançar em desktop/swing)…
1 curtida
Muito obrigado pela resposta, e pela dica com a apostila.