Pessoal,
Tenho dois pacotes distintos, em um deles um JFrame principal que ira chamar outros JFrames, porém quero abrir tudo dentro do JFrame principal. Como faço isto?
Desde ja Obrigado!!
Pessoal,
Tenho dois pacotes distintos, em um deles um JFrame principal que ira chamar outros JFrames, porém quero abrir tudo dentro do JFrame principal. Como faço isto?
Desde ja Obrigado!!
Você precisa de um InternalFrame, segue um exemplo simples da lógica que você irá implementar.
import java.awt.BorderLayout;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JTextArea;
public class Main {
public static void main(String[] argv) {
boolean resizable = true;
boolean closeable = true;
boolean maximizable = true;
boolean iconifiable = true;
String title = "Frame Title";
JInternalFrame iframe = new JInternalFrame(title, resizable, closeable,
maximizable, iconifiable);
iframe.setSize(300, 300);
iframe.setVisible(true);
iframe.getContentPane().add(new JTextArea());
JDesktopPane desktop = new JDesktopPane();
desktop.add(iframe);
JFrame frame = new JFrame();
frame.getContentPane().add(desktop, BorderLayout.CENTER);
frame.setSize(800, 600);
frame.setVisible(true);
}
}
É possível importar um jInternalFrame de outro JFrame??
Ex: JFrame1 possui JInternalFrame1 e JFrame2 abrir jInternalFrame1
Quero fazer isto para o meu código ficar mais dividido… porque como tenho muitos jInternalFrame estava ficando uma bagunca!!!
Desde já agradeco!!!
Acredito que seja possível sim, já que é tudo classe, se o JFrame2 estiver no mesmo projeto que o jInternal1 ou jar do jInternal1 estiver no classpath do JFrame2.
Enfim da pra abrir ^^ é só criar uma instancia do objeto jInternal1 no JFrame2 :X
Acredito que seja possível sim, já que é tudo classe, se o JFrame2 estiver no mesmo projeto que o jInternal1 ou jar do jInternal1 estiver no classpath do JFrame2.Enfim da pra abrir ^^ é só criar uma instancia do objeto jInternal1 no JFrame2 :X
Obrigado pela resposta markin1
Tentei desta forma:
private void jMenuItemEmpresasActionPerformed(java.awt.event.ActionEvent evt) {
JInternalFrame e = new EmpresasGUI().jInternalFrame;
jDesktopPane.add(e);
e.setVisible(true);
}
não dá nenhum erro ao compilar mas também não funciona…
alguém saberia dizer porque?
O que é EmpresasGUI() ?
É um jFrame.
Que contém o jInternalFrame
Ahh agora que eu entendi, eu pensei que o seu jInternalFrame fosse uma classe separada que você chama dentro do jFrame1.
Entendi certo? Esse jinternal foi criado dentro do jFrame1 você não tem uma classe separada pra ele?
Ahh agora que eu entendi, eu pensei que o seu jInternalFrame fosse uma classe separada que você chama dentro do jFrame1.Entendi certo? Esse jinternal foi criado dentro do jFrame1 você não tem uma classe separada pra ele?
Exatamente…
deixe eu explicar melhor pra nao haver confusão…
Tenho o jFramePrincipalGUI.java (que é onde eu tenho um JMenu)
Tenho o JFrameEmpresasGUI.java (que é onde eu tenho um JInternalFrame)
Dentro do jFramePrincipalGUI.java tenho um jDesktopPane
Quando eu clicar no jMenuItemEmpresas do jInternalFramePrincipalGUI.java ele deve pegar o jInternalFrame do JFrameEmpresasGUI.java e jogar dentro do jDesktopPane do jFramePrincipalGUI.java.
é isto…
hmm isso eu não sei se da pra fazer, o jInternalframe dentro da EmpresasGUI tá declarado como public?
Acho que a maneira mais fácil seria criar uma classe para o jInternal e chamá-la onde vc precisar :X
Muito Obrigado pelas respostas cara!!!
Agora funcionou, olha só
private void jMenuItemEmpresasActionPerformed(java.awt.event.ActionEvent evt) {
JInternalFrame i = new EmpresasGUI().jInternalFrame;
getContentPane().add(i);
jDesktopPane.add(i);
i.setBounds(0, 0, 500, 400);
}
eeee
que bom ^^
Pessoal muito obrigado desde ja pelas diga tentei todas, porem nao consegui, talvez seja algo que eu esteja fazendo errado, vou postar o codigo para tentar explicar melhor meu problema.
//Classe principal nome SistLotação
public class SistLotação extends javax.swing.JFrame {
public SistLotação() {
initComponents();
}
private void initComponents() {
jMenuBar1 = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();
jMenuItem1 = new javax.swing.JMenuItem();
jMenuItem2 = new javax.swing.JMenuItem();
jMenu2 = new javax.swing.JMenu();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Cadastro de Cliente");
jMenu1.setText("Cadastro");
jMenuItem1.setText("Clientes");
jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem1ActionPerformed(evt);
}
});
jMenu1.add(jMenuItem1);
jMenuItem2.setText("Veiculos");
jMenu1.add(jMenuItem2);
jMenuBar1.add(jMenu1);
jMenu2.setText("Sair");
jMenu2.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jMenu2MouseClicked(evt);
}
});
jMenuBar1.add(jMenu2);
setJMenuBar(jMenuBar1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 784, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 543, Short.MAX_VALUE)
);
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
setBounds((screenSize.width-800)/2, (screenSize.height-600)/2, 800, 600);
}
Clientes FormCliente = new Clientes(); //criando uma instancia do objeto clientes
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
FormCliente.show(true);
}
private void jMenu2MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
System.exit(0);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new SistLotação().setVisible(true);
}
});
}
private javax.swing.JMenu jMenu1;
private javax.swing.JMenu jMenu2;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JMenuItem jMenuItem1;
private javax.swing.JMenuItem jMenuItem2;
// End of variables declaration
}
//fim da classe principal.
// Classe cliente
public class Clientes extends javax.swing.JFrame {
public Clientes() {
initComponents();
}
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jTextField2 = new javax.swing.JTextField();
jTextField3 = new javax.swing.JTextField();
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel1.setText("CEP");
getContentPane().add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 90, -1, -1));
jTextField1.setText("fone");
getContentPane().add(jTextField1, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 50, 110, -1));
jLabel2.setText("NOME");
getContentPane().add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 10, -1, -1));
jLabel3.setText("FONE");
getContentPane().add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 50, -1, -1));
jTextField2.setText("cep");
jTextField2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField2ActionPerformed(evt);
}
});
getContentPane().add(jTextField2, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 90, 80, -1));
jTextField3.setText("nome");
getContentPane().add(jTextField3, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 10, 220, -1));
pack();
}
private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Clientes().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;
}
//Resumindo preciso abrir a classe cliente dentro do mesmo jframe da classe SistLotação que é minha classe principal?