Tamanho da JInternalFrame no NetBeans

Olá a todos.

Primeiramente gostaria de desejar a todos que tenham um Feliz Natal!

Estou desenvolvendo uma aplicação usando SWING e criando as interfaces no NetBeans. Porém todos os jInternalFrames que eu adiciono ao meu programinha ficam com tamanho muito pequeno, como se fosse a o jInternalFrame estivesse minimizado, mas não está.

O mais engraçado é que no NetBeans e na visualização do NetBeans, o jInternalFrame fica com o tamanho configurado pelo NetBeans. A primeiro momento, estou resolvendo isso utilizando o método setSize() no evento de ativação de Janela. Mas acho que essa não é a melhor solução.

Já mexi em todas as propriedades do jInternalFrame e até achei um campo para tamanho, mas ele aparece desabilitado.

Não sei mais o que fazer, alguém tem alguma sugestão de como resolver isso?

Obrigado e Feliz Natal.

cara, verifica ai, tem 3 propriedades de tamanho:
1 - preferedSize: tamanho preferido
2 - minimumSize
3 - maximumSize

e posta ai o resultado

Isso.

Existem essas três propriedades de tamanho. Porém elas ficam desabilitadas no meu jInternalFrame. Elas somente ficam habilitadas no jFrame principal, e nesse, a propriedade funciona normal.

Tirei até uma Screenshot para vocês darem uma olhada, estou achando isso muito estranho.

Obrigado.

Caso você esteja utilizando os layouts do Java (BorderLayout, GridLayout, etc) a janela deve aparecer do tamanho certo desde o início, porém se você estiver utilizando NullLayout você deve setar o tamanho explicitamente (setSize()).

Espero ter ajudado.

clica no componente JInternalFrame, vai na paleta de propriedades e muda de “Generate Pack”, pra “Generate Resize Code”…

ali mesmo nessa paleta ele ja vai te pedir largura e altura…

Valeu pessoal!

Consegui arrumar.

Uma coisa que eu percebi, foi que quando se clica em “Design This Container” foi que o jInternalFrame aparecia de tamanho reduzido. Aumentando esse tamanho e testando a aplicação ele funcionava normal. Mas parecia que ele não “guardava” o tamanho correto e voltava a fica pequeno.

Aí sim na paleta de propriedades setando o tamanho, funcionava normalmente.

Agora uma dúvida, é normal ficar todos os componentes gráficos em um único arquivo? Ou melhor em uma única classe? Não tem como organizar melhor as telas?

[quote=Ricardo.SEP]Valeu pessoal!

Consegui arrumar.

Uma coisa que eu percebi, foi que quando se clica em “Design This Container” foi que o jInternalFrame aparecia de tamanho reduzido. Aumentando esse tamanho e testando a aplicação ele funcionava normal. Mas parecia que ele não “guardava” o tamanho correto e voltava a fica pequeno.

Aí sim na paleta de propriedades setando o tamanho, funcionava normalmente.

Agora uma dúvida, é normal ficar todos os componentes gráficos em um único arquivo? Ou melhor em uma única classe? Não tem como organizar melhor as telas?[/quote]

  • Use cada tela sua em uma classe (um arquivo .java)
    Ex: JPanelCadastroCliente, JFramePrincipal, etc…

  • Crie um controlador, q recebe os dados dessa interface grafica, chama a classe respectiva, faz as regras de negocio e se necessario xama as classes DAO.

  • Qto ao seu problema de propriedades que aparecem na GUI do netbeans mas qdo roda e outra coisa, o Netbeans tem esse defeito (pelo menos qdo usei, nao sei agora)… ele gera o CODIGO a partir do visual, e nao o VISUAL a partir do codigo… o q pra mim e horrivel… use eclipse…

  • Arrastar e Soltar componentes na tela pode PARECER produtivo, mas isso nao e verdade… com uma boa heranca e polimorfismo, vc constroi suas janelas rapidamente, herdando caracteristicas comum, sem te q ficar arrastando muito componente pela paleta

abraço

[quote=fabiocsi][quote=Ricardo.SEP]Valeu pessoal!

Consegui arrumar.

Uma coisa que eu percebi, foi que quando se clica em “Design This Container” foi que o jInternalFrame aparecia de tamanho reduzido. Aumentando esse tamanho e testando a aplicação ele funcionava normal. Mas parecia que ele não “guardava” o tamanho correto e voltava a fica pequeno.

Aí sim na paleta de propriedades setando o tamanho, funcionava normalmente.

Agora uma dúvida, é normal ficar todos os componentes gráficos em um único arquivo? Ou melhor em uma única classe? Não tem como organizar melhor as telas?[/quote]

  • Use cada tela sua em uma classe (um arquivo .java)
    Ex: JPanelCadastroCliente, JFramePrincipal, etc…

  • Crie um controlador, q recebe os dados dessa interface grafica, chama a classe respectiva, faz as regras de negocio e se necessario xama as classes DAO.

  • Qto ao seu problema de propriedades que aparecem na GUI do netbeans mas qdo roda e outra coisa, o Netbeans tem esse defeito (pelo menos qdo usei, nao sei agora)… ele gera o CODIGO a partir do visual, e nao o VISUAL a partir do codigo… o q pra mim e horrivel… use eclipse…

  • Arrastar e Soltar componentes na tela pode PARECER produtivo, mas isso nao e verdade… com uma boa heranca e polimorfismo, vc constroi suas janelas rapidamente, herdando caracteristicas comum, sem te q ficar arrastando muito componente pela paleta

abraço[/quote]

Cara valeu a dica! Vou tentar implementa-las!

Agora sobre o Eclipse, existe esse possibilidade do “Drag and Drop”? Isso está sendo uma mão na roda, já que faz pouco tempo que eu estou mexendo com JAVA. Por enquanto essa maneira está sendo um pouco mais fácil para mim.

Mais uma vez valeu e feliz ano novo.

tem ué…

baixa o plug-in e instala ele no eclipse :smiley:

Olá amigo na paleta de propriedades existem mais duas abas
events que são os eventos dos objetos
e Code que serve para voce introduzir codigo
na parte em que fica azul no editor do netbeans
para que seu form venha com o tamanho
e centralizado utilize a propriedade
Form Size Policy - Selecione Generate Resize Code
pronto seu form vai estar do tamanho dos components
e centralizado na tela
OBS: vc pode usar o null layout com esta propriedade

Comecei a usar o Visual Editor do Eclipse, e to apanhando um pouco, mas aos poucos eu pego o jeito.

A propósito, vocês não teriam alguma material relacionado ao Visual Editor do Eclipse? Algum tutorial, apostilas, enfim, qualquer material que possa me ajudar.

Obrigado.