Galera, eu soh kero fazer um menu q tenha algo do tipo Adicionar, e toda a vez q eu aperto, apareca uma JInternalFrame. Pq meu algortimo nao funfa?
import javax.swing.<em>;
import java.awt.event.</em>;
import java.awt.*;
public class DesktopTest extends JFrame {
public DesktopTest() {
super( “Usando o JDesktop Pane”);
JMenuBar bar = new JMenuBar();
JMenu addMenu = new JMenu("Adicionar");
JMenuItem newFrame = new JMenuItem("Frames Internos");
addMenu.add(newFrame);
setJMenuBar( bar);
JPanel a = new JPanel();
a.setLayout(new FlowLayout());
getContentPane().add(a);
a.add(bar);
final JDesktopPane desktop = new JDesktopPane();
getContentPane().add(desktop);
desktop.add(addMenu);
newFrame.addActionListener (
new ActionListener() {
public void actionPerformed (ActionEvent e) {
JInternalFrame frame = new JInternalFrame(
"Frame Interno", true, true, true, true);
Container c = frame.getContentPane();
MyJPanel panel = new MyJPanel();
c.add(panel, BorderLayout.CENTER);
frame.setSize(200,250);
desktop.add(frame);
}
}
);
setSize(500,400);
show();
}
public static void main(String args[]) {
DesktopTest a = new DesktopTest();
a.addWindowListener(
new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
);
}
}
class MyJPanel extends JPanel {
private ImageIcon imgIcon;
public MyJPanel() {
imgIcon = new ImageIcon("sd.gif");
}
public void paintComponent(Graphics g) {
imgIcon.paintIcon(this,g,0,0);
}
}
[1] Qual a diferenca dessa linha para esta: Container c = getContentPane();
c.add(desktop);
Elas se comportam diferente no programa.
Kem puder ajudar, fico grato.
PS - Meu primeiro topico 
