java上下分页窗口流动布局

上下分页要用到

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();
    }

}
原文地址:https://www.cnblogs.com/easyidea/p/10224957.html