Galera estou mandando uma parte do código e gostaria de saber como posso fazer para abrir apenas uma JInternalFrame.
Alguém poderia dar uma ajudinha ae?
private JMenu getJMenuTabela() {
if (jMenuTabela == null) {
jMenuTabela = new JMenu();
jMenuTabela.setText("Tabela");
jMenuTabela.setPreferredSize(new Dimension(50, 20));
jMenuTabela.setMnemonic(KeyEvent.VK_T);
jMenuTabela.setFont(new Font("Arial", Font.PLAIN, 12));
jMenuTabela.add(getJMenuItemJanela1(null));
jMenuTabela.add(getJMenuItemJanela2(null));
} //fim if
return jMenuTabela;
}
//Aki é o menuItem onde to tentando chama abrir a Janela1
private JMenuItem getJMenuItemJanela1(final JInternalFrame jiframe) {
if (jMenuItemJanela1 == null) {
jMenuItemJanela1 = new JMenuItem();
jMenuItemJanela1.setText("Janela 1");
jMenuItemJanela1.setFont(new Font("Arial", Font.PLAIN, 12));
jMenuItemJanela1.setMnemonic(KeyEvent.VK_C);
jMenuItemJanela1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent ae) {
//Chama o método para abrir frame
AbrirFrame(jiframe);
Janela1 janela1 = new Janela1();
janela1.setLocation(fx,fy);
fx += 30;
fy += 30;
try {
janela1.setSelected(true);
} catch (PropertyVetoException pve) {
pve.printStackTrace();
}
}
});
}
return jMenuItemJanela1;
}
//Aki é o menuItem onde to tentando chama abrir a Janela2
private JMenuItem getJMenuItemJanela2(final JInternalFrame jiframe) {
if (jMenuItemJanela2 == null) {
jMenuItemJanela2 = new JMenuItem();
jMenuItemJanela2.setText("Janela 1");
jMenuItemJanela2.setFont(new Font("Arial", Font.PLAIN, 12));
jMenuItemJanela2.setMnemonic(KeyEvent.VK_C);
jMenuItemJanela2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent ae) {
//Chama o método para abrir frame
AbrirFrame(jiframe);
Janela2 janela2 = new Janela2();
janela2.setLocation(fx,fy);
fx += 30;
fy += 30;
try {
janela2.setSelected(true);
} catch (PropertyVetoException pve) {
pve.printStackTrace();
}
}
});
}
return jMenuItemJanela2;
}
//Método para verificar frame
private boolean ExisteJInternalFrame(JInternalFrame jiframe) {
JInternalFrame[] frames = jDesktopPane.getAllFrames();
for (int i = 0; i < frames.length; i++) {
if (frames[i].getName().equals(jiframe.getName()) ) {
return true;
}
}
return false;
}
//método para abrir frame
private void AbrirFrame(JInternalFrame jiframe) {
if( ! ExisteJInternalFrame(jiframe) ) {
jDesktopPane.add(jiFrame);
jiFrame.setVisible( true );
}
}
Vlws…