import javax.swing.*;
import java.awt.*;
//import javax.swing.border.*;
import java.awt.event.*;
import java.util.*;//没结果  啊??郁闷!!!public class TJLayeredPane extends JFrame implements ActionListener{
JButton button;
JLayeredPane layeredPane;
static int frameCount=0;
static final int xOffSet=25;
static final int yOffSet=25;

int numFrames=1;

Integer[] layerConstants={JLayeredPane.DEFAULT_LAYER,JLayeredPane.PALETTE_LAYER,
JLayeredPane.MODAL_LAYER,JLayeredPane.POPUP_LAYER,JLayeredPane.DRAG_LAYER,
};
 String[] layerNames={"Default layer","palette layer","Model layer","Popup layer","Drag layer"};

Vector frameVector=new Vector();

public TJLayeredPane(){

super("TJLayeredPane");

JPanel panel=new JPanel(new GridLayout(3,3));
   panel.setBorder(BorderFactory.createTitledBorder("Click the Specific Button to Add Frame or Clear frame"));

for (int i=0;i<layerNames.length+1;i++){
if(i<layerNames.length){

button=new JButton("add to "+layerNames[i]);
button.setActionCommand(layerNames[i]);
}
else{
button=new JButton("Clear the Frame");
button.setActionCommand("Clear");
button.setForeground(Color.red);

}
button.addActionListener(this);
panel.add(button);

}
getContentPane().add(panel,BorderLayout.SOUTH);

layeredPane=getLayeredPane();
addWindowListener(new WindowEventHandler());
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
setSize(400,400);
show();


}
public void actionPerformed(ActionEvent e){
JButton TempButton=(JButton)e.getSource();
if(TempButton.getActionCommand()==layerNames[0]){
addInternalFrame(0);
}
else if(TempButton.getActionCommand()==layerNames[1]){
addInternalFrame(1);
}
else if(TempButton.getActionCommand()==layerNames[2]){
addInternalFrame(2);
}
else if(TempButton.getActionCommand()==layerNames[3]){
addInternalFrame(3);
}
else if(TempButton.getActionCommand()==layerNames[4]){
addInternalFrame(4);
}
else if(TempButton.getActionCommand()=="Clear"){
for(Enumeration enum=frameVector.elements();enum.hasMoreElements();){
((JInternalFrame)enum.nextElement()).dispose();

}
frameCount=0;
}

}
public void addInternalFrame(int index){
JInternalFrame iFrame=new JInternalFrame(
"in"+layerNames[index],
true,
true,
true,
true);
frameVector.addElement(iFrame);

   iFrame.setLocation(xOffSet*(frameCount),yOffSet*(frameCount++));

iFrame.setSize(200,150);
//iFrame.setDefaultCloseOperation(iFrame.DO_NOTHING_ON_CLOSE);
iFrame.setFrameIcon(new ImageIcon("smile.gif"));
iFrame.setVisible(true);//show it!!!!!!!!!
layeredPane.add(iFrame,layerConstants[index]);


}
class WindowEventHandler extends WindowAdapter{
public void windowClosing(WindowEvent ev){
System.exit(0);

}
}

public static void main(String[] args) {

TJLayeredPane frame=new TJLayeredPane();


}

}