import java.awt.*;
import java.awt.event.*; public class Example17_2{
public static void main(String args[]){
Mywindow win=new Mywindow();
win.validate();
}
} class Mywindow extends JFrame{
JButton button1,button2; //按钮
JTextArea text; //文本框
JScrollPane scroll; //是一个显示纯文本的多行区域
JInternalFrame interframe; //内容窗格
JSplitPane splitOne,splitTwo; //用于分隔两个(只能两个)Component
Mywindow(){
setSize(500,500);
setVisible(true);
Container con=getContentPane(); //得到容器
con.setLayout(new GridLayout(1,2)); //设置布局一行两列
button1=new JButton("button1");
button2=new JButton("button2");
text=new JTextArea(6,12);
scroll=new JScrollPane(text); //将文本框放入滚动面板中,使其拥有滚动条
//分隔两个按钮
splitOne=new JSplitPane(JSplitPane.VERTICAL_SPLIT,true,button1,button2);
//分隔按钮区和文本框
splitTwo=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,splitOne,scroll);
//JInternalFrame(String title, boolean resizable, boolean closable, boolean maximizable)
interframe=new JInternalFrame("内部窗体",true,true,true,true);
//setSize(Dimension d) 调整组件的大小,使其宽度为 d.width,高度为 d.height
//继承于java.awt.Component
interframe.setSize(500,300);
interframe.setVisible(true);
Container interCon=interframe.getContentPane();
interCon.setLayout(new FlowLayout());
interCon.add(splitTwo);
//可将 JInternalFrame 添加到 JDesktopPane 中。UI 将特定于外观的操作委托给由 JDesktopPane 维护的 DesktopManager 对象
JDesktopPane desk=new JDesktopPane();
desk.add(interframe); //将内部窗体放入桌面面板
getContentPane().add(desk); //将面板放入窗体
// 设置用户在此窗体上发起 "close" 时默认执行的操作
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}