[code="java"] import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.PropertyVetoException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JPanel;
public class TT {
public static void main(String[] args) {
new TT();
}
private JButton jb;
private JFrame jf;
private JPanel jp;
public TT() {
jf = new JFrame();
jp = new JPanel();
jf.setVisible(true);
jf.setBounds(250, 200, 800, 400);
jf.setResizable(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jb = new JButton("xxxxxxxxxxxxxxxxxxxxxx");
jf.add(jb,BorderLayout.NORTH);
jf.add(jp);
jb.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0) {
JInternalFrame jin = new JInternalFrame("xxxxxx",true,true,true,true);
jin.setVisible(true);
jin.setSize(150, 150);
try {
jin.setSelected(true);
} catch (PropertyVetoException e) {
e.printStackTrace();
}
jp.add(jin);
}});
}
}
[/code]
JInternalFrame 要和 JDesktopPane配合使用。
把代码中的JPanel改成 JDesktopPane就正常了。
我运行了就可以的