温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

swing分割窗口控件JSplitPane使用方法详解

发布时间:2020-10-24 16:34:31 来源:脚本之家 阅读:402 作者:WilliamSun0122 栏目:编程语言

本文为大家分享了JSplitPane的使用方法,供大家参考,具体内容如下

1、swing分割窗口控件JSplitPane,用来将窗口分割成两个部分。 

2、分割后的窗口每个窗口只能放一个控件,想要方多个控件的话,可以在上面方一个JPane面板,这样就可以方多个控件。swing分割窗口控件JSplitPane,用来将窗口分割成两个部分。JSplitPane提供两个常数让你设置到底是要垂直分割还是水平分割。这两个常数分别是:HORIZONTAL_SPIT,VERTICAL_SPLIT

3、使用方法:

①、setDividerSize(int size)设置分割条的大小。

②、getDividerSize()得到分割条的大小。

③、setDividerLocation(int size)按照百分比设置分割条的位置。

④、getOrientation获得方向。

4、构造方法

JSplitPane():建立一个新的JSplitPane,里面含有两个默认按钮,并以水平方向排列,且没有Continuous Layout功能。

JSplitPane(int newOrientation):建立一个指定水平或垂直方向切割JSplitPane,但没有Continuous Layout功能。

JSplitPnae(int newOrientation,boolean newContinuousLayout):建立一个指定水平或垂直方向切割的JSplitPane,且指定是否具有Continuous Layout功能。

JSplitPane(int newOrientation,boolean newContinuousLayout,Component
newLeftComponent,Component newRightComponent):建立一个指定水平或垂直方向切割的JSplitPane,且指定显示区所要显示的组件,并设置是否Continuous Layout功能。

JSplitPane(int newOrientation,COmponent newLeftComponent,COmponent newRightComponent):
建立一个指定水平或垂直方向切割的JSplitPane,且指定显示区所要显示的组件,但没有Continuous Layout功能 。

上面所说的Continuous Layout意思是指当你拖曳切割面版的分隔线时,窗口内的组件是否会随着分隔线的拖曳而动态改变大小。newContinuousLayout是一个boolean值,若设为true,则组件大小会随着分隔线的拖曳而一起改动;若设为false,则组件大小在分隔线停止改动时才确定。你也可以使用JSplitPane中的setContinuousLayout()方法来设置此项目。

5、实例

package swing; 

import java.awt.event.ComponentAdapter; 
import java.awt.event.ComponentEvent; 

import javax.swing.JFrame; 
import javax.swing.JSplitPane; 
import javax.swing.JPanel; 
public class MainFrame extends JFrame { 
 /** 
  * 
  */ 
 JSplitPane jSplitPane1 = new JSplitPane(); 
 JPanel jPanel1 = new JPanel(); 
 JPanel jPanel2 = new JPanel(); 
 private static final long serialVersionUID = 1L; 
 public static void main(String[] args){ 
  new MainFrame(); 
  } 

 public void myinit(){ 
  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设定窗体关闭后自动退出进程 
  this.setSize(800,600);//设定窗体的默认尺寸 
  this.setExtendedState(JFrame.MAXIMIZED_BOTH);//设定窗体状态为屏幕最大化,即全屏尺寸。 
  this.setVisible(true);//显示窗体 
  this.jSplitPane1.setDividerLocation(0.7);//设定分割面板的左右比例(这时候就生效了,如果放在setVisible(true)这据之前就不会有效果。) 
  this.addComponentListener(new ComponentAdapter() { 

   public void componentResized(ComponentEvent e) { 

    jSplitPane1.setDividerLocation(0.7); 
   } 
  }); 
 }  

 public MainFrame() { 
  try { 

   jbInit(); 
   myinit(); 
  } catch (Exception ex) { 
   ex.printStackTrace(); 
  } 
 } 
 private void jbInit() throws Exception { 
  this.getContentPane().add(jSplitPane1, java.awt.BorderLayout.CENTER); 
  jSplitPane1.add(jPanel1, JSplitPane.LEFT); 
  jSplitPane1.add(jPanel2, JSplitPane.RIGHT); 
  jSplitPane1.setEnabled(false); 
  jSplitPane1.setOneTouchExpandable(true); 

 } 


} 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI