Problemas com JInternalFrame (Erros Muito Loucos)

2 respostas
anjomal

Estou fazendo uma aplicação onde eu uso JInternalFrames, so que tem um problemão !!!, eu declarei o JDesktopPane como uma variavel de escopo publica, e ele simplismente não aceita ele fala o seguinte:

sicla/gui/Main.java [52:1] non-static variable Desktop cannot be referenced from a static context

Desktop = new JDesktopPane();

^

sicla/gui/Main.java [53:1] non-static variable Desktop cannot be referenced from a static context

Desktop.setBackground(frmSistema.getBackground());

^

sicla/gui/Main.java [93:1] non-static variable Desktop cannot be referenced from a static context

pnlSistema.add(Center, Desktop);

^

se eu declaro ela dentro da função main ocorre o mesmo erro so que dentro do actionPerformed   do controle, ai fiz uma gambiarra determinei que Desktop era final e declarei ela dentro da função main funcionou legal, so que da outro erro:

sicla/gui/Main.java [188:1] non-static method DesktopExist(javax.swing.JInternalFrame[]) cannot be referenced from a static context
if(!DesktopExist(Desktop.getAllFrames())) {
^
dentro do seguinte codigo:

mnuCadUsuarios.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {                           
                            CadUsuario frmUsuario = new CadUsuario();
                            if(!DesktopExist(Desktop.getAllFrames())) {
                               Desktop.add(frmUsuario);
                               frmUsuario.show();
                            }   
                        }
		});

DesktopExist e uma função minha que retorna se o JinternalFrame esta aberto.
diz ai galera como eu resolvo esse impesilho !!! rsss
:cry:

falow

2 Respostas

R

declare o JDesktopPane como static…

J

Você não pode criar/usar uma variável não static (como é o caso do seu JDesktopPane) em um método static … eu costumo resolver isso setando o contentPane do Frame como sendo o JDesktopPane no construtor da classe …

Criado 16 de janeiro de 2003
Ultima resposta 17 de jan. de 2003
Respostas 2
Participantes 3