importjavax.swing.JDesktopPane;importjavax.swing.JFrame;importjavax.swing.JMenu;importjavax.swing.JMenuBar;@SuppressWarnings("serial")publicclasspainelFrameextendsjavax.swing.JFrame{publicpainelFrame(){initComponents();setLocationRelativeTo(null);setExtendedState(painelFrame.MAXIMIZED_BOTH);setTitle("Fox Home Vídeo");}privatevoidinitComponents(){JFrameframe=newjavax.swing.JFrame();JMenuBarbarra=newjavax.swing.JMenuBar();frame.add(barra);JMenucliente=newjavax.swing.JMenu("Cadastro");barra.add(cliente);JDesktopPanelc=newjavax.swing.JDesktopPane();lc.add(frame);}publicstaticvoidmain(String[]args){java.awt.EventQueue.invokeLater(newRunnable(){publicvoidrun(){newpainelFrame().setVisible(true);}});}}
o que faltar implementar, para que o menu possa ser visto???
Não é frame.add(barra), mas sim frame.setJMenuBar(barra)
[]´s
davidbuzatto
Ah, outra coisa. Não é assim que se usa um JDesktopPane.
Um JDesktopPane deve estar dentro de um JFrame, e então vc usa JInternalFrames no JDesktopPane.
Não é frame.add(barra), mas sim frame.setMenuBar(barra)
[]´s
bem, fiz como vc disse, mais ainda assim não aparece!!!
importjavax.swing.JDesktopPane;importjavax.swing.JFrame;importjavax.swing.JMenu;importjavax.swing.JMenuBar;@SuppressWarnings("serial")publicclasspainelFrameextendsjavax.swing.JFrame{publicpainelFrame(){initComponents();setLocationRelativeTo(null);setExtendedState(painelFrame.MAXIMIZED_BOTH);setTitle("Fox Home Vídeo");}privatevoidinitComponents(){JFrameframe=newjavax.swing.JFrame();JMenuBarbarra=newjavax.swing.JMenuBar();JMenucliente=newjavax.swing.JMenu("Cadastro");barra.add(cliente);frame.setJMenuBar(barra);JDesktopPanelc=newjavax.swing.JDesktopPane();getContentPane().add(lc);}publicstaticvoidmain(String[]args){java.awt.EventQueue.invokeLater(newRunnable(){publicvoidrun(){newpainelFrame().setVisible(true);}});}}
qual seria o pequeno erro???
T
thingol
Tentei rodar seu programa e ele dá uma exceção logo de cara. Em vez disso, use uma IDE como o Visual Editor do Eclipse (foi o que usei para o código abaixo) ou o NetBeans.
Para quem prefere fazer layouts à mão, como é meu caso, é melhor usar o Visual Editor. Para quem gosta de drag & drop, o NetBeans é melhor.
Vc ta percebendo o que ta fazendo? Vc ta instanciando um frame dentro de outro.
Nunca vai funcionar mesmo.
Outra coisa. Vc dá import de tudo, e no código fica usando o caminh completo da classe...
Mais uma: nome de classe começa com letra maiúscula (convensão).
Mais uma: faltou a operação de fechamento do frame.
Olha o código corrigido:
importjavax.swing.JDesktopPane;importjavax.swing.JFrame;importjavax.swing.JMenu;importjavax.swing.JMenuBar;publicclassPainelFrameextendsJFrame{publicPainelFrame(){initComponents();setLocationRelativeTo(null);setExtendedState(JFrame.MAXIMIZED_BOTH);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setTitle("Fox Home Vídeo");}privatevoidinitComponents(){JMenuBarbarra=newJMenuBar();JMenucliente=newJMenu("Cadastro");barra.add(cliente);setJMenuBar(barra);JDesktopPanelc=newjavax.swing.JDesktopPane();add(lc);}publicstaticvoidmain(String[]args){java.awt.EventQueue.invokeLater(newRunnable(){publicvoidrun(){newPainelFrame().setVisible(true);}});}}
alexandref93
davidbuzatto:
Vc ta percebendo o que ta fazendo? Vc ta instanciando um frame dentro de outro.
Nunca vai funcionar mesmo.
Outra coisa. Vc dá import de tudo, e no código fica usando o caminh completo da classe...
Mais uma: nome de classe começa com letra maiúscula (convensão).
Mais uma: faltou a operação de fechamento do frame.
Olha o código corrigido:
importjavax.swing.JDesktopPane;importjavax.swing.JFrame;importjavax.swing.JMenu;importjavax.swing.JMenuBar;publicclassPainelFrameextendsJFrame{publicPainelFrame(){initComponents();setLocationRelativeTo(null);setExtendedState(JFrame.MAXIMIZED_BOTH);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setTitle("Fox Home Vídeo");}privatevoidinitComponents(){JMenuBarbarra=newJMenuBar();JMenucliente=newJMenu("Cadastro");barra.add(cliente);setJMenuBar(barra);JDesktopPanelc=newjavax.swing.JDesktopPane();add(lc);}publicstaticvoidmain(String[]args){java.awt.EventQueue.invokeLater(newRunnable(){publicvoidrun(){newPainelFrame().setVisible(true);}});}}