import java.awt.*;
import javax.swing.*;
public class FormMenu {
public static void main(String[] args) {
//Inicio Init Components
JPanel pane = new JPanel();
JFrame frameMenu = new JFrame("Clínica Abla");
JButton btnFuncionario = new JButton("Funcionário");
JButton btnPesquisarFunc = new JButton("Pesquisar");
JDesktopPane jdPane = new JDesktopPane();
JInternalFrame intFuncionario = new JInternalFrame("Funcionários",false,false,false);
//Fim Init Components
//variáveis InternalFrames
intFuncionario.setBounds(0, 0, 300, 300);
intFuncionario.setVisible(true);
//Fim variáveis InternalFrames
//variáveis DesktopPane
jdPane.setLayout(null);
jdPane.setBounds(0, 0, 300, 300);
jdPane.setVisible(true);
//Fim variáveis jdPane
//variáveis Botões
btnFuncionario.setBounds(0, 0, 150, 100);
btnPesquisarFunc.setBounds(0, 0, 150, 100);
//Fim variáveis Botões
//Adicionando Componentes
frameMenu.add(pane);
pane.add(btnFuncionario);
pane.add(jdPane, BorderLayout.CENTER);
jdPane.add(intFuncionario);
intFuncionario.add(btnPesquisarFunc);
//Fim Adicionando Componentes
//variáveis frameMenu
frameMenu.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frameMenu.setExtendedState(JFrame.MAXIMIZED_BOTH);
frameMenu.setVisible(true);
//Fim variáveis frameMenu
}
}
Qual o erro?
7 Respostas
Tenta deixar o DesktopPanel visivel primeiro ao inves do InternalFrame.
Abraços
import java.awt.*;
import javax.swing.*;
public class FormMenu {
public static void main(String[] args) {
//Inicio Init Components
JPanel pane = new JPanel();
JFrame frameMenu = new JFrame("Clínica Abla");
JButton btnFuncionario = new JButton("Funcionários");
JButton btnClientes = new JButton("Clientes");
JButton btnDentistas = new JButton("Dentistas");
JButton btnFornecedores = new JButton("Fornecedores");
JButton btnConsultas = new JButton("Consultas");
JButton btnPesquisarFunc = new JButton("Pesquisar");
JDesktopPane jdPane = new JDesktopPane();
JInternalFrame intFuncionario = new JInternalFrame("Funcionários",false,false,false);
//Fim Init Components
//variáveis InternalFrames
intFuncionario.setBounds(0, 0, 200, 200);
//Fim variáveis InternalFrames
//variáveis DesktopPane
jdPane.setLayout(null);
jdPane.setBounds(0, 0, 300, 300);
//Fim variáveis jdPane
//variáveis Botões
btnFuncionario.setBounds(0, 0, 250, 200);
btnClientes.setBounds(0, 0, 250, 200);
btnDentistas.setBounds(0, 0, 250, 200);
btnFornecedores.setBounds(0, 0, 250, 200);
btnConsultas.setBounds(0, 0, 250, 200);
btnPesquisarFunc.setBounds(0, 0, 150, 100);
//Fim variáveis Botões
//Adicionando Componentes
frameMenu.add(pane);
pane.add(btnFuncionario);
pane.add(btnClientes);
pane.add(btnDentistas);
pane.add(btnFornecedores);
pane.add(btnConsultas);
pane.add(jdPane, BorderLayout.CENTER);
jdPane.add(intFuncionario);
intFuncionario.add(btnPesquisarFunc);
//Fim Adicionando Componentes
//variáveis frameMenu
frameMenu.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frameMenu.setExtendedState(JFrame.MAXIMIZED_BOTH);
//Fim variáveis frameMenu
//SETVISIBLE
frameMenu.setVisible(true);
jdPane.setVisible(true);
intFuncionario.setVisible(true);
}
}
Voce esta add o DesktopPanel a outro panel quando deveria add ao Frame. Fiz umas modificações aqui e obtive o resultado:
import java.awt.*;
import javax.swing.*;
public class NewClass {
public static void main(String[] args) {
//Inicio Init Components
JPanel pane = new JPanel();
JFrame frameMenu = new JFrame("Clínica Abla");
JButton btnFuncionario = new JButton("Funcionário");
JButton btnPesquisarFunc = new JButton("Pesquisar");
JDesktopPane jdPane = new JDesktopPane();
JInternalFrame intFuncionario = new JInternalFrame("Funcionários",false,false,false);
//Fim Init Components
//variáveis DesktopPane
jdPane.setLayout(null);
jdPane.setBounds(0, 0, 300, 300);
//Fim variáveis jdPane
//variáveis InternalFrames
intFuncionario.setBounds(0, 0, 300, 300);
//Fim variáveis InternalFrames
//variáveis Botões
btnFuncionario.setBounds(0, 0, 150, 100);
btnPesquisarFunc.setBounds(0, 0, 150, 100);
//Fim variáveis Botões
//Adicionando Componentes
frameMenu.add(pane);
frameMenu.add(jdPane);
pane.add(btnFuncionario);
jdPane.add(intFuncionario);
intFuncionario.add(btnPesquisarFunc);
//Fim Adicionando Componentes
//variáveis frameMenu
frameMenu.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frameMenu.setExtendedState(JFrame.MAXIMIZED_BOTH);
jdPane.setVisible(true);
intFuncionario.setVisible(true);
frameMenu.setVisible(true);
//Fim variáveis frameMenu
}
}
Mas, melhor voce modificar a sua ai para ficar do jeito que voce queira ok?
Abraços
Na verdade eu quero add o DesktopPane no Panel para que eu possa adicionar uma imagem nesse Pane e assim ter um “plano de fundo”.
Se eu adiciono o DesktopPane direto no frame meu Panel some!
Na verdade eu quero add o DesktopPane no Panel para que eu possa adicionar uma imagem nesse Pane e assim ter um “plano de fundo”.
Se eu adiciono o DesktopPane direto no frame meu Panel some!
Bem, nao sei se vou falar bobagem, mas voce quer adiocionar uma imagem a um panel e depois tacar um desktoppanel em cima da imagem? Porque, pelo que eu entendi é isso, voce vai simplesmente sumir com a imagem.
Procure se isso nao é possivel fazer diretamente no DesktopPanel, que eu acredito que tenha como.
Abraços
import java.awt.*;
import javax.swing.*;
public class FormMenu {
public static void main(String[] args) {
//Inicio Init Components
JPanel pane = new JPanel(new BorderLayout());
JFrame frameMenu = new JFrame("Clínica Abla");
JButton btnFuncionario = new JButton("Funcionários");
JButton btnClientes = new JButton("Clientes");
JButton btnDentistas = new JButton("Dentistas");
JButton btnFornecedores = new JButton("Fornecedores");
JButton btnConsultas = new JButton("Consultas");
JButton btnPesquisarFunc = new JButton("Pesquisar");
JDesktopPane jdPane = new JDesktopPane();
JInternalFrame intFuncionario = new JInternalFrame("Funcionários",false,false,false);
//Fim Init Components
//variáveis InternalFrames
intFuncionario.setBounds(0, 0, 200, 200);
//Fim variáveis InternalFrames
//variáveis Pane
jdPane.setLayout(null);
jdPane.setBounds(0, 0, 300, 300);
//Fim variáveis Pane
//variáveis Botões
btnFuncionario.setBounds(0, 0, 250, 200);
btnClientes.setBounds(0, 0, 250, 200);
btnDentistas.setBounds(0, 0, 250, 200);
btnFornecedores.setBounds(0, 0, 250, 200);
btnConsultas.setBounds(0, 0, 250, 200);
btnPesquisarFunc.setBounds(0, 0, 150, 100);
//Fim variáveis Botões
//Adicionando Componentes
frameMenu.add(pane);
pane.add(btnFuncionario);
pane.add(btnClientes);
pane.add(btnDentistas);
pane.add(btnFornecedores);
pane.add(btnConsultas);
pane.add(jdPane, BorderLayout.CENTER);
jdPane.add(intFuncionario);
intFuncionario.add(btnPesquisarFunc);
//Fim Adicionando Componentes
//variáveis frameMenu
frameMenu.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frameMenu.setExtendedState(JFrame.MAXIMIZED_BOTH);
//Fim variáveis frameMenu
//SETVISIBLE
frameMenu.setVisible(true);
jdPane.setVisible(true);
intFuncionario.setVisible(true);
}
}
JPanel pane = new JPanel(new BorderLayout()); //Faltava fornecer um Layout pois vc adiciona numa posição que necessita de BorderLayout 