上下分頁要用到
JSplitPane jSplitPane =new JSplitPane();//設定為拆分布局
效果圖:
show me code:
import java.awt.event.ComponentAdapter; import java.awt.event.ComponentEvent; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JSplitPane; import javax.swing.JTextPane; public class Mainui extends JFrame{ JSplitPane jSplitPane =new JSplitPane();//設定為拆分布局 private static final long serialVersionUID = 1L; JPanel jp1; //上面板1 JTextPane jtp1; //下面板1 JButton bt1; //選擇項目文件按鈕 JButton bt2; //開始轉換按鈕 JComboBox<String> cmb1; //創建下拉菜單 JComboBox<String> cmb2; //創建下拉菜鳥 public Mainui(){ this.setTitle("歡迎使用編碼轉換軟件"); this.setBounds(100, 100, 600, 500); jp1 = new JPanel(); jtp1=new JTextPane(); bt1 = new JButton("打開項目"); bt2 = new JButton("開始轉換"); cmb1=new JComboBox<String>(); //創建JComboBox cmb2=new JComboBox<String>(); //創建JComboBox cmb1.addItem("文本類型"); //向下拉列表1中添加項 cmb1.addItem("所有文件"); cmb1.addItem(".java"); cmb1.addItem(".txt"); cmb1.addItem(".c"); cmb1.addItem(".cpp"); cmb1.addItem(".py"); cmb2.addItem("轉換編碼"); //向下拉列表2中添加項 cmb2.addItem("UTF-8"); cmb2.addItem("GB2312"); cmb2.addItem("Unicode"); jp1.add(bt1); //將按鈕,下拉菜單添加入jPanel容器 jp1.add(cmb1); jp1.add(cmb2); jp1.add(bt2); jSplitPane.setContinuousLayout(true);//操作箭頭,重繪圖形 jSplitPane.setOrientation(JSplitPane.VERTICAL_SPLIT);//垂直方向 jSplitPane.setTopComponent(jp1);//上下布局中添加組件 ,面板1(上) jSplitPane.setBottomComponent(jtp1);//上下布局中添加組件 ,面板1(下) setContentPane(jSplitPane);//將布局添加入窗口 setVisible(true);//窗口設置可見 jSplitPane.addComponentListener(new ComponentAdapter() {//拖動窗口監聽 public void componentResized(ComponentEvent e) { if(jSplitPane.getWidth()<=210){ jSplitPane.setDividerLocation(140);//設置條高度 } else if(jSplitPane.getWidth()<420){ jSplitPane.setDividerLocation(70);//設置條高度 }else{ jSplitPane.setDividerLocation(40);//設置條高度 } } }); } public static void main(String a[]){ new Mainui(); } }