Oi, Pessoal!
Estou com um pequeno probleminha na minha tela principal. Ao entrar ela já está abrindo junto o internalframe. Na verdade quero chamar esse internalframe a partir do meu menuitem.
Por favor alguém poderia me dar um help?
Valeu!
Oi, Pessoal!
Estou com um pequeno probleminha na minha tela principal. Ao entrar ela já está abrindo junto o internalframe. Na verdade quero chamar esse internalframe a partir do meu menuitem.
Por favor alguém poderia me dar um help?
Valeu!
Coloca o código do evento que chama o JInternalFrame pra gente ver o que tem de errado.
Oi Luiz_ross!
Eu não sei o que era, mas comecei do zero e agora não está mais dando esse erro, apenas não está mostrando o internalframe no frame principal.Não está dando erro, apenas nao chama a tela ao clicar no meniitem, vc saberia me dizer o pq?Se precisar mando o codigo que estou chamando o internalframe…
Valeu!
Manda o código então!!!
Oi!
Esse é o código da tela principal:
/*
* Projeto: Controle de Gastos
*
* Tipo: TelaPrincipal.java
*
* Criada em 21 de Março, 2003, 8:34 AM
*/
import javax.swing.*;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JMenuBar;
import javax.swing.ImageIcon;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Dimension;
import java.io.IOException;
/**
*
* @author aparanho
*/
public class TelaPrincipal
{//início da classe
//declaração das variáveis
private JMenuBar jmubItens;
private JMenu jmuDespesas, jmuRelatorios, jmuOutros;
private JMenuItem jmuiExtras, jmuiFixas, jmuiConducao, jmuiAlimentacao, jmuiSair;
private JMenuItem jmuiRelDespesas;//, jmuiRelConducao, jmuiRelAlimentacao;
private JMenuItem jmuiCalculadora, jmuiSobre, jmuiAjuda;
private JSeparator jsrSeparar;
private JFrame jfraPrincipal;
private JDesktopPane jdskPrincipal;
/** Criando o formulário TelaPrincipal */
public TelaPrincipal()
{
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
private void initComponents()
{//início do construtor
jfraPrincipal = new JFrame();
jdskPrincipal = new JDesktopPane();
jfraPrincipal.setTitle("Sistema de Controle de Gastos");
Dimension dimSizeScreen = jfraPrincipal.getToolkit().getScreenSize();
jfraPrincipal.setSize(dimSizeScreen);
//criando o Título
//setTitle("Sistema de Controle de Gastos");
//criando o JMenuBar dos Itens
jmubItens = new JMenuBar();
//criando o JSeparator
jsrSeparar = new JSeparator();
//criando os JMenu's
jmuDespesas = new JMenu();
jmuRelatorios = new JMenu();
jmuOutros = new JMenu();
//criando os JMenuItens do JMenu Despesas
jmuiFixas = new JMenuItem("Fixas", new ImageIcon("Saquinho.gif"));
jmuiExtras = new JMenuItem("Extras", new ImageIcon("DimDim.gif"));
jmuiConducao = new JMenuItem("Condução", new ImageIcon("Buss.gif"));
jmuiAlimentacao = new JMenuItem("Alimentação", new ImageIcon("Papa.gif"));
jmuiSair = new JMenuItem("Sair", new ImageIcon("Sair.gif"));
//criando os JMenuItens do JMenu Relatórios
jmuiRelDespesas = new JMenuItem("Despesas", new ImageIcon("DimDim.gif"));
//jmuiRelConducao = new JMenuItem("Condução", new ImageIcon("Buss.gif"));
//jmuiRelAlimentacao = new JMenuItem("Alimentação", new ImageIcon("Papa.gif"));
//criando os JMenuItens do JMenu Relatórios
jmuiCalculadora = new JMenuItem("Calculadora", new ImageIcon("calc.gif"));
jmuiSobre = new JMenuItem("Sobre", new ImageIcon("sobre.gif"));
jmuiAjuda = new JMenuItem("Ajuda", new ImageIcon("help.gif"));
//setando null para o layout
jfraPrincipal.getContentPane().setLayout(null);
//Menu de Despesas e seus Itens para Seleção
jmuDespesas.setLabel("Despesas");
jmuiFixas.setLabel("Fixas");
jmuiExtras.setLabel("Extras");
jmuiConducao.setLabel("Condução");
jmuiAlimentacao.setLabel("Alimentação");
jmuiSair.setLabel("Sair");
//Menu de Relatórios e seus Itens para Seleção
jmuRelatorios.setLabel("Relatórios");
jmuiRelDespesas.setLabel("Despesas");
//jmuiRelConducao.setLabel("Condução");
//jmuiRelAlimentacao.setLabel("Alimentação");
//Menu Outros e seus Itens para Seleção
jmuOutros.setLabel("Outros");
jmuiCalculadora.setLabel("Calculadora");
jmuiSobre.setLabel("Sobre");
jmuiAjuda.setLabel("Ajuda");
//chamando as figuras que estão no Menu de Despesas e seus Itens
jmuDespesas.setIcon(new ImageIcon("C:\Adriana\Disk\TelaJava\DimDim.gif"));
jmuiFixas.setIcon(new ImageIcon("C:\Adriana\Disk\TelaJava\Saquinho.gif"));
jmuiConducao.setIcon(new ImageIcon("C:\Adriana\Disk\TelaJava\Buss.gif"));
jmuiAlimentacao.setIcon(new ImageIcon("C:\Adriana\Disk\TelaJava\Papa.gif"));
jmuiSair.setIcon(new ImageIcon("C:\Adriana\Disk\TelaJava\sair.gif"));
//chamando as figuras que estão no Menu de Relatórios e seus Itens
jmuRelatorios.setIcon(new ImageIcon("C:\Adriana\Disk\TelaJava\print.gif"));
jmuiRelDespesas.setIcon(new ImageIcon("C:\Adriana\Disk\TelaJava\DimDim.gif"));
//jmuiRelConducao.setIcon(new ImageIcon("C:\Adriana\Disk\TelaJava\Buss.gif"));
//jmuiRelAlimentacao.setIcon(new ImageIcon("C:\Adriana\Disk\TelaJava\Papa.gif"));
//chamando as figuras que estão no Menu de Relatórios e seus Itens
jmuOutros.setIcon(new ImageIcon("C:\Adriana\Disk\TelaJava\outros.gif"));
jmuiCalculadora.setIcon(new ImageIcon("C:\Adriana\Disk\TelaJava\calc.gif"));
jmuiSobre.setIcon(new ImageIcon("C:\Adriana\Disk\TelaJava\sobre.gif"));
jmuiAjuda.setIcon(new ImageIcon("C:\Adriana\Disk\TelaJava\help.gif"));
//setando o JMenuBar
jfraPrincipal.setJMenuBar(jmubItens);
//adicionando os JMenuItens no JMenu Despesas
jmuDespesas.add(jmuiFixas);
jmuDespesas.add(jmuiExtras);
jmuDespesas.add(jmuiConducao);
jmuDespesas.add(jmuiAlimentacao);
jmuDespesas.add(jsrSeparar);//adicionando o JSeparator
jmuDespesas.add(jmuiSair);
//adicionando os JMenuItens no JMenu Relatórios
jmuRelatorios.add(jmuiRelDespesas);
//jmuRelatorios.add(jmuiRelConducao);
//jmuRelatorios.add(jmuiRelAlimentacao);
//adicionando os JMenuItens no JMenu Outros
jmuOutros.add(jmuiCalculadora);
jmuOutros.add(jmuiSobre);
jmuOutros.add(jmuiAjuda);
//adicionando o JMenu no JMenuBar
jmubItens.add(jmuDespesas);
jmubItens.add(jmuRelatorios);
jmubItens.add(jmuOutros);
jdskPrincipal.setLayout(null);
jfraPrincipal.getContentPane().add(jdskPrincipal);
jdskPrincipal.setBackground(Color.lightGray);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
jfraPrincipal.setSize(new Dimension(400, 300));
jfraPrincipal.setLocation((screenSize.width-401)/2,(screenSize.height-300)/2);
//mostra a Tela
jfraPrincipal.show();
//após mostrar a figura do Splash, mostra o JFrame
Splash.retornaInstancia().Fim();
//fazendo a ação do Fechar a Tela pelo Menu Sair
jmuiSair.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
JOptionPane.showMessageDialog(null,"Esta aplicação está sendo encerrada!!", "Controle de Gastos", JOptionPane.WARNING_MESSAGE);
System.exit(0);
}
});
//fazendo a chamada do JMenuItem ddas Despesas Fixas
jmuiFixas.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
Runtime.getRuntime().exec( "cmd /C c:\Adriana\Disk\excel.xls" );
}
catch (IOException execIO)
{
System.out.println("Nao foi possivel enviar -> " + execIO);
}
}
});
//fazendo a chamada do JMenuItem ddas Despesas Extras
jmuiExtras.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
Runtime.getRuntime().exec( "cmd /C c:\Adriana\Disk\excel.xls" );
}
catch (IOException execIO)
{
System.out.println("Nao foi possivel enviar -> " + execIO);
}
}
});
//fazendo a chamada do JMenuItem ddas Despesas de Alimentação
jmuiAlimentacao.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
Runtime.getRuntime().exec( "cmd /C c:\Adriana\Disk\excel.xls" );
}
catch (IOException execIO)
{
System.out.println("Nao foi possivel enviar -> " + execIO);
}
}
});
//fazendo a chamada do JMenuItem ddas Despesas Fixas
jmuiCalculadora.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
Runtime.getRuntime().exec("C:\WINNT\System32\calc.exe");
}
catch (IOException excIO)
{
System.out.println("Nao foi possivel enviar -> " + excIO);
}
}
});
jmuiSobre.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
TelaSobre Sobre = new TelaSobre(); //instancia a tela TelaSobre
jdskPrincipal.add(Sobre.jfriSobre); //adiciona a tela no desktop
}
});
}//fim do construtor
//Fecha a Tela pelo "X"
private void exitForm(WindowEvent evt)
{
System.exit(0);
}
}//fim da classe
Valeu!
Tenta assim, dentro do seu evento que executa a chamada ao JInternalFrame coloca assim
teste t = new teste(); aqui seria a instância do seu JInternalFrame(é só adaptar;
getContentPane().add(t);
t.show(); aqui eu não lembro se precisa porque já tem o setVisible dentro do bloco try/catch
try{
setVisible(true);
setSelected(true);
}
catch(PropertyVetoException pve){
}
}
Oi, Luiz_ross!
Modifiquei a chamada do internalframe, mas mesmo assim continua não aparecendo a minha tela, não estou conseguindo ver onde pode estar o erro, pois ele entra, chama o show, passa pelo principal e pelo internalframe e mesmo assim não mostra a tela para vizualização. Vc saberia o pq?
Fiz assim:
jmuiSobre.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
TelaSobre Sobre = new TelaSobre(); //instancia a tela TelaSobre
jdskPrincipal.add(Sobre.jfriSobre); //adiciona a tela no desktop
try
{
//seleciona o JInternalFrame
Sobre.jfriSobre.setVisible(true);
Sobre.jfriSobre.setSelected(true);
}
catch (PropertyVetoException excPVeto)
{
}
jmuiSobre.setEnabled(true);
}
});
Valeu!
[quote=“Ray of Light”]
jmuiSobre.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
TelaSobre Sobre = new TelaSobre(); //instancia a tela TelaSobre
jdskPrincipal.add(Sobre.jfriSobre); //adiciona a tela no desktop
try
{
//seleciona o JInternalFrame
Sobre.jfriSobre.setVisible(true);
Sobre.jfriSobre.setSelected(true);
}
catch (PropertyVetoException excPVeto)
{
}
jmuiSobre.setEnabled(true);
}
});
Valeu![/quote]
Cadê a linha? [code]
getContentPane().add(jDesktopPane1);
//essa linha adiciona seu DesktopPane ao ContentPane e ela deve ficar aqui depois dessas linhas
private void initComponents()
{//início do construtor
jfraPrincipal = new JFrame();
jdskPrincipal = new JDesktopPane();
[/code]
e antes da linha
jdskPrincipal.add(Sobre.jfriSobre); //adiciona a tela no desktop
coloca essa linha aqui
getContentPane().add(seuJInternalFrame);
Obrigada, deu certo aqui!
Valeu!