Bem gente é isso ai meu problema tá super complicado agora, como eu mesmo já falei antes em outros tópicos estou migrando um de meus sistemas feitos em clipper para java.
E como esse é meu primeiro desenvolvimento sério depois de mais de um ano de estudo sobre java, resolvi escrever esse projeto todo no braço para conseguir um certo domínio da da linguagem. Alem do mais eu sou CLIPPEIRO e acostumado a trabalhar no braço.
Montei toda a tela inicial do meu sistema, agora chegou a hora de montar as telas de cadastro. Eu cheguei a começar a criar as telas de cadastro usando JFrame e chamando com setVisible(true)
, mas percebi que dessa forma fica duas janelas abertas no sistema operacional. Já imaginou se eu abro 4 frames ao mesmo tempo no meu sistema? serião 4 janelas abertas na barra de tarefas do windows deixando a coisa meio louca. Foi quando então conheci o bendito JInternalFrame que são frames que abrem internamente dentro do frame principal. Mas estou numa put%$¨@* dificudade para implementar isso no braço. Então queria a ajuda de vocês para consegui colocar isso nos eixos.
Primeiramente deixa eu explicar e mostrar um pouco como está a estrutura do meu sistema.
Tenho um form chamado provisoriamente de FormPrincipal que é onde está localizado meu método main. Nesse forme eu tenho montada toda a parte da tela principal do programa (ex. menus, itens de menus, barra de ferramentas, botões, etc…). Tenho tb uma classe localizada num arquivo .java separado chamada de EventosGUI, nessa classe eu trato toda a parte de eventos de componentes swing do sistema.
para criar a tela de cadastro eu criei um novo arquivo .java que terá toda a parte gráfica da tela de cadastros. É agora que vem a bronca.
abaixo meu arquivo .java para tela de cadastros.
[code]package GUI;
/**
- @SCRIPT Informática e Sistemas
- Aplicação de Estoque
- @Matheus Saraiva
-
@version 1.00 2009/6/9
*/
import javax.swing.*;
class cad_clientes extends JInternalFrame{
Imagens icones = new Imagens();
public cad_clientes() {
setTitle("Arquivo de clientes");
setSize(1024, 768);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
getContentPane().setLayout(null);
//setIconImage(new ImageIcon("Icones/clientesico.png").getImage());
}
}[/code]
agora abaixo a linha do arquivo .java que contém meu main responsável pela chamada do InternalFrame
agora abaixo meu arquivo .java que contém minha classe EventosGUI
[code]/**
- @SCRIPT Informática e Sistemas
- Aplicação de Estoque
- @Matheus Saraiva
-
@version 1.00 2009/6/9
*/
package GUI;
import java.io.; //Importa o pacote de entrada e saída de dados.
import java.awt.event.; //Importa o pacote de eventos dos componentes GUI.
import javax.swing.*; //Importa o pacote swing.
import javax.swing.ImageIcon;
class EventosGUI {
Imagens imagem_e_icon = new Imagens();
//Eventos de click e press. enter
public ActionListener execcalc = new ActionListener() {
public void actionPerformed(ActionEvent clickenter) {
try {
Runtime.getRuntime().exec("cmd.exe /C start calc.exe");
}
catch(IOException exceio) {
exceio.printStackTrace();
}
catch(Exception exce) {
exce.printStackTrace();
}
}
};
public ActionListener sair = new ActionListener() {
public void actionPerformed(ActionEvent clickenter) {
System.exit(0);
}
};
public ActionListener sobre = new ActionListener() {
public void actionPerformed(ActionEvent clickenter) {
JOptionPane.showMessageDialog(null,
"SCRIPTER Sistema de Estoque e Vendas\nVersão 1.0\nEscrito por: MATHEUS SARAIVA",
"Sobre o SCRIPTER", JOptionPane.INFORMATION_MESSAGE,
new ImageIcon("Icones/foto.png"));
}
};
public ActionListener cadastro_clientes = new ActionListener() {
public void actionPerformed(ActionEvent clickenter) {
}
};
//Eventos de passar o mouse
public MouseListener passmouse_arquivo = new MouseListener() {
public void mouseEntered(MouseEvent mouseemcima) {}
public void mouseClicked(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e){}
public void mouseExited(MouseEvent e) {}
};
}[/code]
Então gente vocês podem ver que eu separei por arquivos, um .java pra tela principal, outro .java pra manipular os eventos e outro .java para montar a tela de cadastro de clientes no caso.
não vou aqui colocar o que eu já tentei fazer pq eu fiz tantos testes e tive cada resultado que não gosto nem de lembrar
gostaria que baseados em tudo que informei vocês me sugerissem uma solução. de preferência que eu possa implementas usado a mesma estrutura que já existe, digo, sem precisar fazer mudanças drásticas no código, isso se for possível, se não for sugiram da forma que der.
Bem é isso
grato por toda a ajuda.