E aew galera,
eu estou com um problema. eu estou adicionando um frame em um Desktop Pane, só que o o Frame não está ocupando todo o Desktop Pane… o que eu posso fazer para ocupar toda a extensão?
a parte do código que eu adiciono ao Desktop Pane é a seguir:
Tem como colocares uma parte maior do código para ver se consigo reproduzir o erro?
davidtiagoconceicao
Você está setando um gerenciador de layout?
Tente setar um gerenciador e ver se resolve.
M
marcobiscaro2112
Se você quer obter o efeito de uma janela principal com várias “subjanelas” não deve adicionar o contentPane no JDesktopPane: deve criar uma instância da classe JInternalFrame, mudar o contentPane dessa instância e depois adicioná-la ao JDesktopPane. Por exemplo:
Eu tentei fazer isso com o código a seguir, só que não apareceu o JasperViewer. A tela ficou em branco. O que pode ser?
E a minha intenção, é colocar o frame do JasperViewer no frame da minha aplicação.
Eu não quero o efeito de janela dentro de outra, queria apenas o próprio Viewer x)
Antes eu tava fazendo com Internal Frame, mas achamos melhor não usar…
publicvoidvisualizarPDF(){JasperViewerview=newJasperViewer(print);JInternalFramejanelaInterna=newJInternalFrame();view.setExtendedState(MAXIMIZED_BOTH);janelaInterna.setContentPane(view.getContentPane());jDesktopPane1.add(janelaInterna);//jDesktopPane1.add(view.getContentPane()); //O método como eu estava fazendo antes.progress.progressDone();}
Essa parte que eu coloquei é a parte que executa… se achar necessário eu coloco mais partes…
Acho que não. aushush não sei bem o que seria um gerenciador de layout… aprender a usar Swing no NetBeans dá nisso… hehehe
M
marcobiscaro2112
Agora eu não entendi… você está usando o JDektopPane e não que uma janela dentro da outra??? Mas é justamente para isso que ele serve…
Veja um exemplo do JDesktopPane em ação:
É esse efeito que você quer?
T
Tipertuba
Hehhehe na verdade, eu não sei se tenho que usar o jDesktopPane…
Veja a foto que eu postei.
O efeito que eu quero, é apresentar algo em um frame. No exemplo, tem uma tabela. Esse meu aplicativo apresenta uma tabela e um JasperViewer.
Basicamente, o que quero é colocar um frame que contém a tabela no frame do meu aplicativo.
Realmente não precisa de JDesktopPane. Sugiro que você, no lugar do desktop pane, adicione um JPanel simples. Aí, na hora de adicionar a tabela, use algo como?
meuPainel.setLayout(newBorderLayout());meuPainel.add(minhaTabela,BorderLayout.CENTER);// vai ocupar todo o painél
T
Tipertuba
Ahhh eh mesmo… hahaa
agora que vi aqui… o JPanel aceita um componente, assim como o desktop pane… x)
achei q o JPanel não aceitava… então vai dar certo… vo testar aqui e depois posto o resultado!
Valeu pela ajuda galera!
EDIT: ah =/ nao deu certo ainda…
eu to usando
setExtendedState(MAXIMIZED_BOTH);
no frame da tabela pra maximizar a tela…
ai queria colocar isso dentro do painel… tem alguma ideia do que eu possa
valeu!
EDIT2: Haa… achei uma solução, mas é gambearra demais. Se alguem souber me ajudar eu ainda quero! ehheh
o jeito q eu arranjei é deixar o tamanho do frame da tabela do tamanho exato que eu quero colocar.
O problema é q no JasperViewer n tem como mudar…
T
Tipertuba
acho que descubri algo macabro no meu programa… uahuah
acho que o problema não está no panel, ou em algo do tipo…
acho que o problema é meu progress bar… acho q ele ta dando erro, e por isso não ta "atualizando " a tela, e aparecendo o Viewer.
Vou testar mais aqui.
Bem, realmente é algo macabro…
Eu estou usando o BorderLayout.CENTER…
mas é como se ele só funcionasse quando eu chamo outro método…
na verdade, o único método que “atualiza” a minha tela é o action performed do primeiro ComboBox, que atualiza o segundo ComboBox, e só. Não faz sentido.
Alguem me ajuda plz
T
Tipertuba
Bem galera,
resolvi meu problema!
Pra quem estiver precisando do mesmo, é só usar o updateUI.
No meu caso, eu dei updateUI no jPanel, ficando: