Boa tarde pessoa, fiz uma janela principal com um menu e gostaria de quando foce clicado em determinado intem do menu fosse criado uma janela interna o codico ficou assim
public class Nomade extends AbstractAction {
JFrame f;
public Nomade(JFrame f) {
this.f = f;
}
public void criarJanela(JFrame f){
JInternalFrame janela = new JInternalFrame("Nômade", true, true, true);
janela.setSize(750, 440);
janela.setLocation(300, 100);
janela.setVisible(true);
f.add(janela);
}
public void actionPerformed(ActionEvent arg0) {
criarJanela(f);
}
}
Acontece que quado a janela interna é criada pelo evento ela aparece como um pequeno retangulo no centro da janela principal, não é criada do tamanho que desejo, alguem pode me ajudar?
Encontri o erro só que nãos consigo corrigilo.
Na verdade a InternalFrame é criada de forma correta, quando eu uso um JFrame comum, mas tenho a necessidade de colocar uma imagem de fundo no meu JFrame, então sobrescrevi alguns metodos para isso, só que ai o JInteralFrame não é criado de forma correta, segue o codgo do Frame com imagem de fundo.
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.net.URL;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class JFrameWithBackground extends JFrame {
private Image bImage;
// colocar uma figura na barra de título da janela
public JFrameWithBackground(String path) {
this.bImage = this.createImage(path);
this.initComponents();
}
public void initComponents() {
super.setContentPane(new NewContentPane());
}
private Image createImage(String path) {
return Toolkit.getDefaultToolkit().createImage(path);
}
private class NewContentPane extends JPanel {
protected void paintComponent(final Graphics g) {
super.paintComponent(g);D
g.drawImage(bImage, 0, 0, this);
}
}
}
Alguem sabe me dizer onde esta errado, para que esse frame não gere o InternalFrame de forma correta?
De já agradeço a todos.
A minha InternalFrame será criada atravez de um JMenuItem, onde faço a divisão aki nesse codigo?
Tipo deixando somente os metodos que vão gerar a imagem de fundo no JFrame.
E se não for abusar, gostaria que me falace onde o porque estava a gerar o erro, para que eu possa aprender e não tornar a repeti-lo
de já muito obrigado.
[quote=Ziru][quote=giovanebmr]Vou ter que ir votar agora e daqui duas horas volto pra gente tentar debugar essa classe…
[/quote]
Beleza meu amigo, vou tentando tambem aki… sou bastante novo em Java essa é minha primeira aplicação então é meio complicado pra mim.[/quote]
Consegui chegar no seguinte codigo, não sei se não removi coisa que não devia, mas a primeiro momento o Frame com imgem de fundo está correto, e o internalFrame tambem está correto, exeto um problema que menciono em outro poste “Trabalhando com paineis”
Aki vai o codigo, se puder analize pra mim se está tudo nos conformes mesmo.
[quote=Ziru]Agora parece ter resolvido, o codigo acima está certo, basta definir a InternalFrame como
BorderLayout.CENTER entãp elá abrirá corretamente.[/quote]
Exatamente… como a classe que eu te enviei antes… vc tem que definir o layout