• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Rudolfo

Duvida em gerar Interface Gráfica

8 mensagens neste tópico

Boas tardes malta,

tenho estruturado uma JFrame conforme ilustra a imagem seguinte:

interfacen.th.jpg

tenho este codigo ja feito, com o intuito de tornar visivel isto que estou aqui a mostrar ... passa-se que nao me aparece nada :... aparece sim um " Exception in thread "main" java.lang.NullPointerException

"...

o código é o seguinte:

import java.awt.*;
import javax.swing.*;

public class EnvioMsg extends JFrame {

    public JPanel campolista;
    public JPanel caixas;
    public JMenuBar menu;
    public JMenuItem voltar;
    public JList listautilizadores;
    public JTextField destinatarios;
    public JTextArea corpomsg;
    public JButton adicionar;

    public EnvioMsg() {

        Container cp = getContentPane();
        cp.setLayout(new BorderLayout());

        menu = new JMenuBar();
        voltar = new JMenuItem("Menu Principal");
        menu.add(voltar);
        cp.add(menu, BorderLayout.NORTH);

        DefaultListModel usr = new DefaultListModel();
        listautilizadores = new JList(usr);
        campolista.add(listautilizadores, BorderLayout.CENTER);


        campolista.setLayout(new BorderLayout());
        adicionar = new JButton("<<<< Add");
        campolista.add(adicionar, BorderLayout.SOUTH);
        campolista.setVisible(true);

        caixas.setLayout(new BorderLayout());
        destinatarios = new JTextField("Introduzir Destinatários", 100);
        caixas.add(destinatarios, BorderLayout.NORTH);

        corpomsg = new JTextArea("Introduzir corpo de mensagem");
        caixas.add(corpomsg, BorderLayout.SOUTH);
        caixas.setVisible(true);

        cp.add(caixas, BorderLayout.CENTER);
        cp.setVisible(true);
        cp.setSize(400, 400);



    }
}

alguem me pode ajudar???

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

como não sei em que linha está esse erro, e nao me apetece compilar, experimenta inicializar todas as variáveis...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

respondendo as vossas questoes:

nessa classe, aponta para a seguinte linha:

campolista.add(listautilizadores, BorderLayout.CENTER);

no metodo main, aponta para:

EnvioMsg kk=new EnvioMsg(); que é a maneira k tou a usar para "aparecer" a janela em questão.

cumps.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

mas a variavel " caixas " que é do mesmo tipo do " campolista" , tambem nao foi inicializada, e ele nao se queixa ... :eek:

ja resolvi um problema ... esse das inicializaçoes:

fiz

campolista=new JPanel();

        campolista.setLayout(new BorderLayout());

e fiz o mesmo para a var. "caixas" ...

mas agora, compila tudo direitinho, mas nao aparece no ecra nada ....

init:

deps-jar:

Compiling 2 source files to C:\Documents and Settings\Ivo\Os meus documentos\NetBeansProjects\Mensagens\build\classes

compile:

run:

BUILD SUCCESSFUL (total time: 2 seconds)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não é fácil olhar p código e ver o q está a provocar isso, o melhor é fazeres debug para veres em q linha rebenta.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

em 1º deves colocar todas as variáveis private...

depois estás a usar uma main class????

e coloca a linha campolista.setVisible(true); no final da class...

0

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