dario1133 0 Denunciar mensagem Publicado 13 de Janeiro de 2012 Boa tarde Eu quero retornar o valor de uma variavél double numa interface java. Aviso :: sou aprendiz de java =) tenho: import javax.swing.JLabel; JLabel peso; double v; peso = new JLabel("Custo Mínimo Total:"+v); peso.setBounds(610, 500, 300, 20); peso.setFont(font); Na interface aparece tudo bem, mas o valor de v está sempre = 0.0 Mesmo que v altere o seu valor, tenho sempre: Custo Mínimo Total:0.0 Não sei se JLabel é indicado para retornar valores de variáveis, ou se é outro problema qualquer. Obrigado pela ajuda =) Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
SamLapin 0 Denunciar mensagem Publicado 13 de Janeiro de 2012 Onde está a inicialização da variável v? Se não existir mais código entre as linhas double v; e peso = new JLabel("Custo Mínimo Total:"+v); Normal que só vejas 0.0 Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
dario1133 0 Denunciar mensagem Publicado 13 de Janeiro de 2012 Existe código, é normal, a variavel funciona corretamente, pois quando faço: System.out.println("Custo Minimo Total = "+v); Aparece na saída o valor correto de v. O problema é que não consigo esse mesmo valor na interface. Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
dario1133 0 Denunciar mensagem Publicado 13 de Janeiro de 2012 Para melhor explicar o meu problema. Tenho o seguinte: package javaapplication14; import javax.swing.JFrame; import javax.swing.JTextArea; import javax.swing.JLabel; import java.awt.Container; public class Janela { static JFrame frame; Container recipiente; JLabel Peso; public JTextArea area; double peso; public Janela() { frame = new JFrame(); recipiente = frame.getContentPane(); Peso = new JLabel("Custo Mínimo Total:" + peso); Peso.setBounds(610, 500, 300, 20); recipiente.setLayout(null); recipiente.add(Peso); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(null); frame.setSize(1000, 600); frame.setLocation(10, 20); frame.setTitle("Grafo Display"); frame.setVisible(true); } public void custo() { peso=12; } } Acontece que quando faço: Peso = new JLabel("Custo Mínimo Total:" + peso); Irá aparecer uma janela com Custo Mínimo Total:0.0. Eu queria que aparecesse Custo Mínimo Total:12.0, pois é o valor que tenho para o peso na função custo. Não consigo é fazer com que ele detete que o peso é 12.0. Espero ter explicado +/- o problema. Aceitam-se sugestões. =) Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
_7_up_ 2 Denunciar mensagem Publicado 15 de Janeiro de 2012 Isso está tudo bem só que como o SamLapin disse, tu não inicializas a variável... Experimenta chamar a fução custo() antes de criares a JLabel. Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
dario1133 0 Denunciar mensagem Publicado 15 de Janeiro de 2012 OK, problema resolvido, obrigado! Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites