java学习——72.嵌套分割
JSplitPane分割窗格可以嵌套,实现两个及以上组件的分割。
本例是在java学习——71.分割窗格中例题的基础上,先将窗口分成左右两部分,再分别将左右两部分分割成上下两部分。
其完整代码如下:
import java.awt.*;
import javax.swing.*;
import java.awt.Event.*;
public class JSplitPanelearn extends JFrame{
public JSplitPanelearn(){
super("分割窗格学习");
this.setBounds(200,200,300,150);
this.setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
String s1="床前明月光,\n疑是地上霜。\n举头望明月,\n低头思故乡。";
JTextArea t1=new JTextArea(s1);
String s2="锄禾日当午,\n汗滴禾下土。\n谁知盘中餐,\n粒粒皆辛苦。";
JTextArea t2=new JTextArea(s2);
String lefts=" 静夜思\n 李白";
JTextArea lefttop=new JTextArea(lefts);
JSplitPane leftpane=new JSplitPane(0,lefttop,new JScrollPane(t1));//垂直分割,左边为lefttop,右边为t1,并为t1添加了滚动窗格
String rights=" 锄禾\n 李绅";
JTextArea righttop=new JTextArea(rights);
JSplitPane rightpane=new JSplitPane(0,righttop,new JScrollPane(t2));//垂直分割,左边为righttop,右边为t2,并为t2添加了滚动条
JSplitPane pane=new JSplitPane(1,leftpane,rightpane);//水平分割,左边为leftpane,右边为rightpane
this.getContentPane().add(pane);
}
public static voidmain(String args[]){
new JSplitPanelearn();
}
}
其运行结果如下:
可对分割条的位置进行修改,将左右两格的位置平分,只需在代码中增加一行;
pane.setDividerLocation(this.getWidth()/2);
运行结果如下:
使用分割窗口可以对更复杂的窗口进行分割,只要你有意愿即可。