Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

dario1133

Interface Java

Mensagens Recomendadas

dario1133    0
dario1133

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


Link para a mensagem
Partilhar noutros sites
SamLapin    0
SamLapin

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


Link para a mensagem
Partilhar noutros sites
dario1133    0
dario1133

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


Link para a mensagem
Partilhar noutros sites
dario1133    0
dario1133

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


Link para a mensagem
Partilhar noutros sites
_7_up_    2
_7_up_

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


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade